auto C++, автоматическое вычисление компилятором типа переменной

Ключевое слово обозначающее автоматическое время хранения переменной, так же как и обычная переменная. Но начиная с С++11 ключевое слово auto приобретает смысл, где оно позволяет не указывать тип переменной, а он вычисляется исходя из результата выражения (присваивания), это позволяет не менять тип переменной при смене типа вычисляемого выражения.
- Переменная с типом auto должна быть обязательно проинициализирована
- Переменная с типом auto не может быть членом класса
- Начиная с С++14 переменная с типом auto может быть параметром функции
- Начиная с С++14 тип auto может быть возвращен из функции


#include <iostream> // cout, endl
using namespace std;
int main(){
    auto i = 5;             // i - int
    auto f = 3.14f;         // f - float
    auto d = 3.14;          // d - double
    auto d1(3.14);          // d1 - double  можно инициализировать как конструктор
    auto d2{3.14};          // d2 - double  можно инициализировать фигурными скобками
    auto d3 = {3.14};       // d3 - double  можно инициализировать фигурными скобками через равно
    auto dd = {3.14, 2.72}; // dd - std::initializer_list<double>  можно инициализировать список
    for(auto n : dd){       // Перебираем элементы списка dd
        cout << n << ' ';   //3.14 2.72
    }
}
2023-10-22



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

Оператор and альтернатива оператору "Логическое И" &&
Оператор and_eq - альтернатива оператору &= (Побитовое И)
asm ключевое слово С++. Включение блока кода на языке ассемблер в код С++.
auto C++, автоматическое вычисление компилятором типа переменной
bitand оператор С++ альтернативный "Побитовое И" &
bitor оператор языка С++ аналогичный "Побитовому ИЛИ" |
bool логический тип данных в С++
break оператор завершения ближайшего цикла или case в С++
case оператор С++ для выполнения блока кода при совпадении целочисленного значения в операторе switch
catch оператор С++ для ловли исключений
class ключевое слово C++ для задания класса
compl оператор C++ альтернативный "Побитовая инверсия" ~
const ключевое слово С++
consteval спецификатор С++20 указывающий что каждый вызов функции должен создавать константы времени компиляции
constexpr спецификатор С++11 означающий что значение переменной или результат работы функции должны рассчитываться на этапе компиляции
const_cast оператор приведения типов для добавления или удаления cv-квалификаторов С++
dynamic_cast С++ преобразование указателей или ссылок на объект
false C++, логическое "Ложно" C++
inline C++ вставка кода функции в месте вызова
Ключевые слова в С++
namespace С++ пространство имен
noexcept в C++
register С++ зарезервированное ключевое слово
return C++ выход из функции с возвратом результата
Выражения rvalue, lvalue, gvalue, xvalue, prvalue.
throw C++ принудительное выбрасывание исключений
true C++ логическое истинно и любое число кроме нуля
try C++ начинает блок кода в котором ловятся исключения
using C++ создание псевдонимов и импорт из пространства имен
volatile С++ запрет оптимизации объекта который может измениться извне