Как пользоваться DECLTYPE? | Углубленное программирование на C++:(По книге Скотта Мейерса) #3

  Рет қаралды 3,772

Полевой Дмитрий

Полевой Дмитрий

Күн бұрын

Предыдущее видео: • Вывод типа auto | Углу...
В этом видео мы разберем третью и четвертую подглавы книги Скотта Мейерса "Современный и эффективный C++", где познакомимся с интересным ключевым словом - DECLTYPE и DECLTYPE(AUTO). Рассмотрим как с ним работать, где он используется, какие подводные камни и сюрпризы он нам приготовил и как посмотреть выведенный им тип

Пікірлер: 16
@ИгорьПорошин-л6м
@ИгорьПорошин-л6м 2 ай бұрын
Забыл рассказать про важный момент, если в decltype указать выражение, то это выражение не будет выполняться, а лишь выведется тип выражения. Например здесь удаления элемента не будет: std::set s {1,2,3}; decltype(s.erase(s.begin())); или вот например: int x = 42; decltype(x++);
@AdaddsaFadadaas
@AdaddsaFadadaas 3 ай бұрын
Отличные гайды, спасибо за видео
@Muhammad-phi
@Muhammad-phi 2 ай бұрын
Пол года университета в этом канале 👍👍👍. Подписывайтесь
@dmitriyv4557
@dmitriyv4557 2 ай бұрын
Молодец, полезно! Удачи!
@billjohnes9380
@billjohnes9380 2 ай бұрын
13:00 Для return(x + 5) будет int, а не ссылка на int. 13:21 decltype для любых именованных объектов даст T, а не ссылку на T. Если завести, например, вектор структур, то decltype от обращения по индексу к вектору даст ссылку на структуру. Но если после обращения по индексу к вектору далее обратиться к полю структуры, которое, например, имеет тип int, то decltype от этого выражения даст int, а не ссылку на int.
@semurgx
@semurgx 2 ай бұрын
какая же мешанина этот c++. как будто собрали множество языков и вылепили ужасного голема
@Slavasil
@Slavasil 2 ай бұрын
имхо лучше чем php)
@usercommon1
@usercommon1 2 ай бұрын
Так и есть. Попробуйте Rust, тут всё почти чисто)))
@HastaQwert
@HastaQwert 2 ай бұрын
полезнл
@RedBallOfLove
@RedBallOfLove 3 ай бұрын
Насколько же сильно все испортилось. Я достаточно давно не прикасался к плюсам, но видеть подключения буста только для понимания, какой же тип на самом деле - треш. Впихивание новых конструкций без фактического рефакторинга самого языка делает его абсолютно нечитаемым.
@shitout1337
@shitout1337 2 ай бұрын
Ждем С+++ без багажа костылей и убогих конструкций
@primovictoria896
@primovictoria896 2 ай бұрын
да автор прост кринжует на самом деле. и без буста можно, да и надо ли? любой LSP современный это делает и в дополнение с любой ide или текстовым редактором отрисует тип. А на сколько вы долго к плюсам не прикасались?) С++ 0х сущесвует очень давно, официально аж с 11 года, нуежто более 13 лет на плюсах не писали?)
@VladykaVladykov
@VladykaVladykov 2 ай бұрын
Можно использовать typeid(...) просто из стандарта
@hashiyomu
@hashiyomu 3 ай бұрын
Здравствуйте. А мы не можем использовать универсальную ссылку auto&& вместо decltype(auto) для определения типа возвращаемого значения? (9:30)
@PolevoysProgramming
@PolevoysProgramming 3 ай бұрын
Привет, конкретно в этом примере использование auto&& и decltype(auto) действительно даст один и тот-же результат, однако посмотрим на такой пример: int getInt() { return 10; } int main() { auto&& uref = getInt(); // int&& decltype(auto) da = getInt(); // int }
@hashiyomu
@hashiyomu 3 ай бұрын
@@PolevoysProgramming Спасибо!
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 52 МЛН
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,3 МЛН
Please Help This Poor Boy 🙏
00:40
Alan Chikin Chow
Рет қаралды 13 МЛН
Новый уровень твоей сосиски
00:33
Кушать Хочу
Рет қаралды 4,8 МЛН
you will never ask about pointers again after watching this video
8:03
С++ 12. RTTI, dynamic_cast, vtables.
1:30:35
Лекторий ФПМИ
Рет қаралды 7 М.
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 52 МЛН