Course Content
C++ Data Types
C++ Data Types
Auto
Although C++ is a typed language, you can use auto
when initializing a variable to determine the type automatically. This feature was introduced in C++14 and does not work with older versions.
Here is an example:
main
#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }
Note that it is harder to catch errors when using auto
. Consider the example:
main
#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:
main
#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
ornum3
should befloat
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
:
main
#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.
Thanks for your feedback!