Namespace-uri

Un namespace grupează identificatori (funcții, clase, variabile) pentru a evita conflictele de nume în proiecte mari.

namespace.cpp
namespace Geometrie {
  const double PI = 3.14159265;

  double arieCirc(double r) { return PI * r * r; }
  double arieRect(double l, double lat) { return l * lat; }
}

namespace Algebra {
  double PI = 3.14;  // alt PI, fără conflict!
}

int main() {
  cout << Geometrie::arieCirc(5) << endl;
  cout << Geometrie::PI << endl;
  cout << Algebra::PI << endl;
  return 0;
}

Namespace anonim

namespace {  // vizibil doar în fișierul curent
  int contor = 0;
  void incrementeaza() { contor++; }
}