Вопросы с тегом «decltype»

2
Каковы некоторые виды использования decltype (auto)?
На этот вопрос есть ответы на Stack Overflow на русском : Конструкция decltype (авто) В c ++ 14 decltype(auto)введена идиома. Обычно его используют для того, чтобы autoобъявления могли использовать decltypeправила для данного выражения . В поисках примеров «хорошего» использования идиомы я могу думать только о таких вещах, как ( Скотт …

2
стрелка (->) в заголовке функции
Я наткнулся на следующий код: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Я не могу понять одного: Где я мог узнать, что означает стрелка operator ( ->) в заголовке функции? Я предполагаю чисто логически, что ->оператор определяет тип, который …
128 c++  c++11  auto  decltype 

2
Разница между std :: result_of и decltype
У меня проблемы с пониманием необходимости std::result_ofв C ++ 0x. Если я правильно понял, result_ofиспользуется для получения результирующего типа вызова объекта функции с определенными типами параметров. Например: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } Я не вижу разницы в следующем коде: template …
100 c++  c++11  decltype  result-of 

6
Почему ссылки не являются «константными» в C ++?
Мы знаем, что «константная переменная» указывает, что после назначения вы не можете изменить переменную, например: int const i = 1; i = 2; Приведенная выше программа не скомпилируется; gcc выводит сообщение об ошибке: assignment of read-only variable 'i' Нет проблем, я могу это понять, но следующий пример выходит за рамки …

3
C ++ decltype и круглые скобки - почему?
Тема обсуждалась раньше , но это не дубликат. Когда кто-то спрашивает о разнице между decltype(a)и decltype((a)), обычный ответ - aэто переменная, (a)это выражение. Я считаю этот ответ неудовлетворительным. Во-первых, aэто также выражение. Варианты основного выражения включают, среди прочего: (выражение) ID-выражение Что еще более важно, формулировка для decltype рассматривает скобки очень …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.