🔷

C++ — Типы данных

Типы, преобразования, неявные приведения, nullptr, enum

30 вопросов · 30 показано

MediumЧто такое строго типизированный язык и является ли им C++?EasyЧем отличаются int8_t, int16_t, int32_t, int64_t от int/long/short?MediumЧто такое неявное преобразование типов и какие опасности оно таит?MediumЧто такое narrowing conversion и как от него защититься?MediumПочему сравнение signed и unsigned часто даёт неожиданный результат?MediumЧто такое integer promotion и когда оно происходит?HardЧто такое целочисленное переполнение (overflow) и UB ли оно?MediumЧто такое перечисление (enum) и чем enum class отличается от обычного enum?MediumМожно ли перечислять enum class в цикле и как?MediumЧто такое type traits и зачем они нужны?MediumЧем nullptr_t отличается от указателей на конкретные типы?HardЧто такое decltype(auto) и когда он полезен?MediumЧто такое std::any, std::optional и std::variant — и когда что применять?HardЧто такое strong typedef и как его реализовать?HardЧем typeid и RTTI отличаются от виртуальных функций?HardЧто такое trivially copyable типы и почему это важно?MediumЧто такое aggregate type и aggregate initialization?MediumЧем std::byte отличается от char и unsigned char?HardЧто такое type punning и почему reinterpret_cast для этого опасен?MediumЧем noexcept-функция отличается от обычной и зачем это нужно?MediumЧто такое constexpr-функция и какие ограничения у неё?HardЧем consteval отличается от constexpr?HardЧто такое literal types и почему они важны для constexpr?MediumЧто такое user-defined literals и зачем они нужны?EasyЧем const_iterator отличается от iterator?MediumЧто такое std::string_view и какие опасности с ним связаны?MediumЧем span (std::span) отличается от vector и массива?EasyЧто такое std::pair и std::tuple — и когда что использовать?EasyЧто такое structured bindings и для чего применяются?HardЧто такое deduction guides и зачем они нужны?