Автоматичне виведення типу
Свайпніть щоб показати меню
Хоча C++ є мовою зі статичною типізацією, можна використовувати auto, щоб дозволити компілятору визначити тип змінної під час ініціалізації. Ця можливість була введена у C++11 і недоступна у попередніх версіях.
main.cpp
12345678910#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }
Хоча це може зекономити час і зробити код компактнішим, це також може приховати очікуваний тип, ускладнюючи виявлення помилок.
main.cpp
1234567891011#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }
Вказування типів допомагає краще розуміти код і знаходити помилки:
main.cpp
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Будь-яка з num1, num2 або num3 повинна бути типу float, щоб отримати правильний результат.
Тим не менш, auto широко використовується в range-based циклах for, оскільки це універсальний спосіб ітерування по масивах та інших контейнерах. Для ітерування по arr використовуйте наступний синтаксис:
main.cpp
auto.h
123456789#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }
Його також можна використовувати, коли тип є довгим для написання, але зрозумілий з контексту і не може призвести до некоректних результатів.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Автоматичне виведення типу
Хоча C++ є мовою зі статичною типізацією, можна використовувати auto, щоб дозволити компілятору визначити тип змінної під час ініціалізації. Ця можливість була введена у C++11 і недоступна у попередніх версіях.
main.cpp
12345678910#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }
Хоча це може зекономити час і зробити код компактнішим, це також може приховати очікуваний тип, ускладнюючи виявлення помилок.
main.cpp
1234567891011#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }
Вказування типів допомагає краще розуміти код і знаходити помилки:
main.cpp
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Будь-яка з num1, num2 або num3 повинна бути типу float, щоб отримати правильний результат.
Тим не менш, auto широко використовується в range-based циклах for, оскільки це універсальний спосіб ітерування по масивах та інших контейнерах. Для ітерування по arr використовуйте наступний синтаксис:
main.cpp
auto.h
123456789#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }
Його також можна використовувати, коли тип є довгим для написання, але зрозумілий з контексту і не може призвести до некоректних результатів.
Дякуємо за ваш відгук!