Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Automatic Type Deduction | Other Data Types and Concepts
C++ Data Types
course content

Зміст курсу

C++ Data Types

C++ Data Types

1. Introduction
2. Numerical Data Types
3. Text Data Type
4. Other Data Types and Concepts

book
Automatic Type Deduction

Although C++ is a statically typed language, you can use auto to let the compiler deduce the type of a variable during initialization. This feature was introduced in C++11 and is not available in older versions.

cpp

main

copy
12345678910
#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }

While this can save time and make the code more concise, it can also obscure the intended type, making errors harder to spot.

cpp

main

copy
1234567891011
#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }

Specifying types would help us understand code better and find what's wrong:

cpp

main

copy
1234567891011
#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }

Note

Any of num1, num2 or num3 should be float to output the correct result.

Nevertheless, auto is widely used in range-based for loops since it is a versatile method of iterating over arrays and other containers. Just use the following syntax for iterating over arr:

cpp

main

h

auto

copy
123456789
#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }

It also can be used when the type is long to type but is clear from the context and can't lead to incorrect results.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
We're sorry to hear that something went wrong. What happened?
some-alt