Benutzerliterale in C++ (Benutzerliterale in C++), Lektion, Seite 722499
https://www.purl.org/stefan_ram/pub/benutzerliterale_c++ (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

Benutzerliterale

#include <iostream>

#include <ostream>

#include <string>

int main()
{ ::std::cout << ::std::literals::string_literals::operator""s( "abc", 3 ).length() << '\n';
::std::cout << ::std::literals::operator""s( "abc", 3 ).length() << '\n';
::std::cout << ::std::operator""s( "abc", 3 ).length() << '\n'; }

// 21.3.5, suffix for basic_string literals:

namespace std

{ inline namespace literals

{ inline namespace string_literals

{ string operator "" s( char const * str, ::std::size_t len ); }}}

inline: als ob in umgebendem Namensraum deklariert. zB.:

#ifdef C14

inline

#endif

main.cpp

#include <iostream>

constexpr double operator "" _DM( long double const d ){ ::std::cout << "XXX" << '\n'; return d/1.95583; }

int main(){ ::std::cout << 3.00_DM << '\n'; }

Protokoll

main.cpp.cmd

main.cpp: In function 'constexpr double operator""_DM(long double)':

main.cpp:5:66: warning: conversion from 'long double' to 'double' may change value [-Wfloat-conversion]

constexpr double operator "" _DM( long double const d ){ return d/1.95583; }

~^~~~~~~~

-----------------------------

almost always auto, initialize with braces {}!

F:\r\j\autocomp\main.cpp:5:66: warning: implicit conversion loses floating-point precision: 'long double' to 'double' [clang-diagnostic-conversion]

constexpr double operator "" _DM( long double const d ){ return d/1.95583; }

^

F:\r\j\autocomp\main.cpp:5:67: warning: implicit conversion increases floating-point precision: 'double' to 'long double' [clang-diagnostic-double-promotion]

constexpr double operator "" _DM( long double const d ){ return d/1.95583; }

^

-----------------------------

1.53388

 

Annotationen ohne Grundstrich sind reserviert für die Standardbibliothek.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722499 stefan_ram:722499 Benutzerliterale in C++ Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722499, slrprddef722499, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/benutzerliterale_c++