C++ auto
The auto Keyword
The auto
keyword automatically detects the type of a variable based on the value you assign to it.
It helps you write cleaner code and avoid repeating types, especially for long or complex types.
For example: Instead of writing int x = 5;
, you can write:
Starting in C++11, auto
became a powerful way to let the compiler figure out the type based on the value you assign.
Example with Different Types
Here's an example showing how auto
can be used to create variables of different types, based on the values you assign:
Example
// Creating auto variables
auto myNum = 5; // int
auto myFloatNum =
5.99; // float
auto myDoubleNum = 9.98; // double
auto myLetter = 'D';
// char
auto myBoolean = true; // bool
auto myString = string("Hello");
// std::string
Try it Yourself »
Important Notes
auto
only works when you assign a value at the same time (You can't declareauto x;
without assigning a value)- Once the type is chosen, it stays the same. See example below:
auto x = 5; // x is now an int
x = 10; // OK - still an int
x =
9.99; // Error - can't assign a double to an int
Note: In this tutorial, we usually use int
, double
, and other basic types when the type is simple and easy to see.
But for more complex types - like iterators and lambdas, which you will learn
more about in a later chapter, we use auto
to keep the code cleaner and easier to understand.