C++20 chrono::weekday Как это реализовано?
От: k55 Ниоткуда  
Дата: 12.12.22 16:23
Оценка:
Добрый день.

Смотрю видео с последнего CPPCON и проскачил вот такой пример кода с C+++20


cout << weekday(June/21/2016);


Будьте любезны, поясните какие вызовы происходят в данном коде. Я понимаю что June это константа в chrono, но как '/' парсится/интерпритируется компилятором?
Или они в chrono оператор-/ переопределили?
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Re: C++20 chrono::weekday Как это реализовано?
От: watchmaker  
Дата: 12.12.22 17:05
Оценка: 10 (2)
Здравствуйте, k55, Вы писали:

k55>Или они в chrono оператор-/ переопределили?

Ну да.
(а какие у тебя ещё были варианты?)


k55> Я понимаю что June это константа в chrono, но как '/' парсится/интерпритируется компилятором?

Ну если прямо совсем непонятно что какая-то запись означает и при этом не ясно как её искать, то попроси компилятор AST вывести и там посмотри.
Или, например, в cppinsights засунь
Re: C++20 chrono::weekday Как это реализовано?
От: rg45 СССР  
Дата: 12.12.22 17:11
Оценка: 4 (1)
Здравствуйте, k55, Вы писали:

k55>Будьте любезны, поясните какие вызовы происходят в данном коде. Я понимаю что June это константа в chrono, но как '/' парсится/интерпритируется компилятором?


k55>Или они в chrono оператор-/ переопределили?


Именно так. Констатна June имеет тип std::chrono::month — это класс, для которого определен operator /
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[2]: C++20 chrono::weekday Как это реализовано?
От: k55 Ниоткуда  
Дата: 12.12.22 17:42
Оценка:
W>(а какие у тебя ещё были варианты?)
Да пока пост писать не начал у меня вообще вариантов небыло. Давно разработкой на ++ не занимался.
Еще мысль была, может чего в C++20 добавили, о чем я не в курсе.

W>Ну если прямо совсем непонятно что какая-то запись означает и при этом не ясно как её искать, то попроси компилятор

О, спасибо, не знал что он умеет такое делать.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Отредактировано 12.12.2022 18:32 k55 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.