Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Пятница
29 марта
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
983676
Топик полностью
=AlexD=
(03.03.2020 15:52 - 15:54, просмотров: 310)
ответил
Сидоргек
на
"дать переменной тот тип, который имеет инициализирующее выражение" - у переменной "изначальный" тип есть? Бррррр! Надо брать книгу и читать. У меня на физиологическом уровне отвращение к ЯП без строгой типизации, как жить дальше, х.з.
Тип есть у
значения
, у любого,
auto
определяет для переменной тот тип
объявляет переменную того типа, который имеет инициализирующее
значение
. Один раз и навсегда.
надо придумать объяснение этому мудизму, иначе рехнуться можно
Ответить
Спасибо, как работает, понял, а нахуа - пока нет.
-
Сидоргек
(03.03.2020 17:53
)
Иногда тип такой длинный, что его противно писать руками, иногда он известен компилятору, но неизвестен программисту, как тип лямбда-функции (но если вы проспали авто, то лямбды вы тоже проспали). Но главное применение auto - шаблоны. Например,
йцукен
(254 знак., 03.03.2020 19:08
)
Тип у переменной z будет decltype(std::declval<T>()() * std::declval<U>()()) -- это ж интуитивно понятно. В принципе в C++03 тип тоже можно было вывести и без decltype, верней, можно было вывести выражение некого другого типа хранящего в себе
fk0
(162 знак., 04.03.2020 02:11
)