Всем здравствуйте. Я начал недавно изучать 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).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Здравствуйтe, Хочу написать собственное дерево на языке си, каждый узел которого имеет более двух потомковЯ создал структуру, в которую входит...
У меня есть класс HealthyFood и enum Fruits{ apple, pear, peach, orange}Я создаю в ранее сказанном классе переменную fruit типа данных Fruits и хочу создать сеттер для...
У меня есть несколько классов, в которых есть функции lock() и unlock(), которые управляют переменной класса bool lockЕсли lock == true, то объект становится...