capypad
0 Tage Serie
cpp / beginner
Snippet

Code mit Namespaces organisieren

Namespaces organisieren Code in logische Gruppen und verhindern Namenskonflikte. Stellen Sie sich Namespaces als Behälter vor, die verwandte Funktionen und Variablen enthalten. Der :: (Scope-Resolution) Operator greift auf Elemente innerhalb eines Namespaces zu. Sie können auch 'using namespace' verwenden, um den Präfix in einem Bereich nicht wiederholt eingeben zu müssen.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
namespace math {
int add(int a, int b) {
return a + b;
}
int multiply(int a, int b) {
return a * b;
}
}
 
namespace text {
void greet() {
std::cout << "Hello from text namespace!\n";
}
}
 
int main() {
std::cout << "5 + 3 = " << math::add(5, 3) << std::endl;
std::cout << "5 * 3 = " << math::multiply(5, 3) << std::endl;
text::greet();
using namespace math;
std::cout << "Using add directly: " << add(10, 20) << std::endl;
return 0;
}
Erklärung
1
namespace math {
Deklariert einen Namespace namens 'math', um arithmetische Funktionen zu gruppieren
2
int add(int a, int b) {
Funktion innerhalb des math-Namespaces, addiert zwei Integer und gibt das Ergebnis zurück
3
namespace text {
Ein separater Namespace für textbezogene Funktionen, der Namen unterscheidet hält
4
math::add(5, 3)
Ruft die add-Funktion mit dem Scope-Resolution-Operator auf, um anzugeben, zu welchem Namespace sie gehört
5
using namespace math;
Erlaubt direkten Zugriff auf alle Namen im math-Namespace ohne das :: Präfix in diesem Bereich