bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/C++/C++ Tutorial
C++•C++ Tutorial

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:

auto x = 5; // x is automatically treated as
int

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.99f; // float auto myDoubleNum = 9.98; // double auto myLetter = 'D'; // char auto myBoolean = true; // bool auto myString = string("Hello"); // std::string

Important Notes

  • auto only works when you assign a value at the same time (You can't declare auto 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.

Previous

C++ String Data Types

Next

C++ Operators

This chapter

Overview
64

Lessons

138m

Read time

1. C++ Tutorial2. C++ Introduction3. C++ Getting Started4. C++ Syntax5. C++ Statements6. C++ Output (Print Text)7. C++ Output Numbers8. C++ New Lines9. C++ Comments10. C++ Variables11. C++ Declare Multiple Variables12. C++ Identifiers13. C++ Constants14. C++ User Input15. C++ Data Types16. C++ Numeric Data Types17. C++ Boolean Data Types18. C++ Character Data Types19. C++ String Data Types20. C++ auto21. C++ Operators22. C++ Arithmetic Operators23. C++ Assignment Operators24. C++ Comparison Operators25. C++ Logical Operators26. C++ Operator Precedence27. C++ Strings28. C++ String Concatenation29. C++ Numbers and Strings30. C++ String Length31. C++ Access Strings32. C++ Special Characters33. C++ User Input Strings34. C++ String Namespace35. C++ C-Style Strings36. C++ Math37. C++ Booleans38. C++ Boolean Expressions39. C++ If ... Else40. C++ Else41. C++ Else If42. C++ Short Hand If Else43. C++ Nested If44. C++ Logical Operators in Conditions45. C++ Switch46. C++ While Loop47. C++ Do/While Loop48. C++ For Loop49. C++ Nested Loops50. C++ The foreach Loop51. C++ Break and Continue52. C++ Arrays53. C++ Arrays and Loops54. C++ Omit Array Size55. C++ Array Size56. C++ Multi-Dimensional Arrays57. C++ Structures (struct)58. C++ Enumeration (enum)59. C++ Memory Address60. C++ Pointers61. C++ Dereference62. C++ Modify Pointers63. C++ Memory Management64. C++ new and delete

On this page

The auto KeywordExample with Different TypesImportant Notes