Всем здравствуйте. Я начал недавно изучать c++ и столкнулся с оператором decltype. Насколько я знаю, операторы как и функции возвращают определенное значение, но ознакомившись с документацией на сайте microsoft (https://docs.microsoft.com/ru-ru/cpp/cpp/decltype-cpp?view=msvc-160) я увидел следующую строчку "decltype Описатель типа возвращает тип указанного выражения.". Насколько мне известно тип, в качестве возвращаемого значения, не может быть возвращен, но тогда как это происходит? Заранее спасибо, надеюсь вы поможете.
Смотрите, например
int a;
...
Хочу объявить переменную того же типа, что и a
...
decltype(a) b;
Грубо - но для понимания сойдет - decltype(a)
заменяется типом, с которым была объявлена a
- declared type
decltype
и не имеет никакого возвращаемого значения, так как это не функция, а часть спецификатора типа. По сути это конструкция, родственная *
(делает из типа слева указатель или &&
(делает из типа слева rvalue ссылку). В отличие от них, delctype
делает тот тип, который имеет выражение в круглых скобках. При этом выражение в круглых скобках не является выполняемым (unevaluated context).
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйтe, Хочу написать собственное дерево на языке си, каждый узел которого имеет более двух потомковЯ создал структуру, в которую входит...
У меня есть класс HealthyFood и enum Fruits{ apple, pear, peach, orange}Я создаю в ранее сказанном классе переменную fruit типа данных Fruits и хочу создать сеттер для...
У меня есть несколько классов, в которых есть функции lock() и unlock(), которые управляют переменной класса bool lockЕсли lock == true, то объект становится...