Запитання з тегом «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; } Є одне, чого я не можу зрозуміти: Де я міг дізнатися, що означає оператор стрілки ( ->) у заголовку функції? Я думаю, що логічно, що ->оператор визначає …
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); } Я не бачу різниці в наступному коді: …
100 c++  c++11  decltype  result-of 

6
Чому посилання не є “const” у C ++?
Ми знаємо, що "змінна const" вказує на те, що коли вона призначена, ви не можете змінити змінну, наприклад: 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.