Jakim cudem to działa?!? std::this_thread::sleep_for(1ms);

0

Cześć!

Mam pytanie jak ta technika się nazywa i jak to właściwie działa:

std::this_thread::sleep_for(1ms);

Chodzi mi o wyrażenie:

1ms

Nie jest to string, nie jest to int ani float...
Czy zatem dla określenia czasu wprowadzono nowe typy? ms ns i s?

Mam książkę:
"C++ Biblioteka Standardowa" Nicolai M. Josuttis, wydanie 2, Helion, Gliwice 2014.
I tam jest normalny kod:

this_thread::sleep_for(chrono::seconds(10));

Ktoś może mi to wyjaśnić?

Dzięki i pozdro!
Szyk Cech

4

To są tzw. literały definiowane przez użytkownika (User-defined literals).
Dla tej klasy jest parę przeciążonych literałów, m.in.: ms

0

Jeszcze jedno żeby zadziałało, musisz mieć C++14 I gdzieś wyżej musi być:

using namespace std::literals::chrono_literals;
// albo
using namespace std::chrono_literals;

https://en.cppreference.com/w/cpp/chrono/operator%22%22ms

1 użytkowników online, w tym zalogowanych: 0, gości: 1