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 С++ запрет оптимизации объекта который может измениться извне