tgoop.com/cppproglib/6009
Create:
Last Update:
Last Update:
⚡️ Constexpr эволюция — от C++11 до C++23
Хотите больше вычислений во время компиляции для максимальной производительности?
constexpr развивался от простых функций в C++11 до полноценного compile-time программирования в C++20. Позволяет выполнять сложную логику на этапе компиляции.
constexpr int factorial(int n) {
return n <= 1 ? 1 : n * factorial(n - 1);
}
constexpr int sum_array(const int* arr, size_t size) {
int sum = 0;
for (size_t i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
constexpr std::vector<int> make_sequence(int n) {
std::vector<int> result;
for (int i = 0; i < n; ++i) {
result.push_back(i * i);
}
return result;
}
constexpr std::string process_text() {
std::string result = "Hello, ";
result += "constexpr world!";
return result;
}
constexpr auto text = process_text(); // Во время компиляции!
Библиотека C/C++ разработчика
#буст