Cuvântul cheie auto

Cuvântul cheie auto (introdus în C++11) permite compilatorului să deducă automat tipul unei variabile din valoarea de inițializare.

auto x = 42;          // int
auto y = 3.14;        // double
auto z = 'A';         // char
auto s = "salut";     // const char*
auto ok = true;       // bool

Utilitate cu tipuri complexe

#include <vector>
#include <map>
using namespace std;

vector<int> v = {1, 2, 3, 4, 5};

// Fără auto:
vector<int>::iterator it1 = v.begin();

// Cu auto - mult mai simplu:
auto it2 = v.begin();

map<string, int> m = {{"Ana", 10}, {"Ion", 9}};
for (auto& [key, val] : m) {
  cout << key << ": " << val << endl;
}
auto necesită inițializare la declarare — compilatorul trebuie să vadă valoarea pentru a deduce tipul.
Folosește auto când tipul este evident din context sau când e prea lung de scris. Evită auto când tipul nu este clar, pentru că reduce lizibilitatea.