Recentemente ho letto che il letterale è sufficiente come s
, h
, ms
ecc in C++ 14 sono stati inseriti nello spazio nomi std::literals
. Quindi se devo usarli allora dovrei includere lo spazio dei nomi o usare std::literals::
per denotare quei suffissi. Tuttavia quando ho provato il seguente programma (cpp.sh/9ytu) senza utilizzare una di queste ho avuto l'uscita richiesta: -Utilizzo di suffissi senza std :: letterali
#include <iostream>
#include <thread>
using namespace std;
int main()
{
auto str = "He is there"s;
auto timegap = 1s;
cout << "The string is :-" << endl;
this_thread::sleep_for(timegap);
cout << str;
return 0;
}
/*Output:-
The string is :-
He is there
*/
Come potete vedere non ho incluso alcun namespace
o std::literals::
ancora il mio programma viene eseguito correttamente. Ho provato questo in Orwell DevC++, C++ Shell, Coliru & ha ottenuto la stessa uscita ovunque. Qual è il problema ?
si ha '' using namespace std; ', e i letterali si trovano in uno spazio dei nomi in linea all'interno di' std', vero? –
Contrassegna sempre anche "C++", altrimenti ad es. l'evidenziazione della sintassi è disabilitata. – Columbo
ok @Columbo lo farò –