capypad
0 Tage Serie
cpp / beginner
Snippet

const und constexpr für Konstanten

const markiert Werte, die nach der Initialisierung nicht geändert werden können, nützlich für Funktionsparameter und lokale Variablen. constexpr fordert die Compilezeit-Auswertung, was bedeutet, dass der Compiler den Wert berechnet, bevor das Programm läuft. Die Verwendung von Konstanten macht den Code klarer und verhindert versehentliche Änderungen.

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
29
30
#include <iostream>
 
const int MAX_SCORE = 100;
constexpr int ARRAY_SIZE = 5;
 
int getMultiplier(int level) {
const int baseMultiplier = 2;
return baseMultiplier * level;
}
 
constexpr int square(int x) {
return x * x;
}
 
int main() {
const float PI = 3.14159f;
std::cout << "Max score: " << MAX_SCORE << std::endl;
std::cout << "PI: " << PI << std::endl;
std::cout << "Square of 7: " << square(7) << std::endl;
std::cout << "Multiplier at level 3: " << getMultiplier(3) << std::endl;
int numbers[ARRAY_SIZE] = {1, 2, 3, 4, 5};
for (int i = 0; i < ARRAY_SIZE; i++) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
return 0;
}
Erklärung
1
const int MAX_SCORE = 100;
Eine konstante Variable, die nach der Festlegung nie geändert werden kann, der Compiler markiert jeden Versuch, sie zu modifizieren
2
constexpr int ARRAY_SIZE = 5;
Eine Compilezeit-Konstante, die der Compiler auswertet, bevor das Programm läuft, ermöglicht die Verwendung in Array-Deklarationen
3
const int baseMultiplier = 2;
Eine const-Variable innerhalb einer Funktion, die sich nicht ändert, klärt die Absicht im Code
4
constexpr int square(int x)
Eine Funktion, die bei konstanten Argumenten zur Compilezeit ausgewertet werden muss, ermöglicht Compilezeit-Berechnung
5
int numbers[ARRAY_SIZE]
Verwendet die constexpr ARRAY_SIZE, um ein Array mit einer festen, zur Compilezeit bestimmten Größe zu erstellen