Конструктор компиляции в C++
Конструктор компиляции помечают
constexpr, чтобы объект можно было
создать в константном контексте.
Поля инициализируют в списке конструктора,
как у обычного типа. Запишем структуру
с одним целым и построим constexpr
экземпляр:
#include <iostream>
struct Cell {
int value;
constexpr Cell(int v) : value(v) {}
};
int main() {
constexpr Cell slot{9};
std::cout << slot.value << "\n";
return 0;
}
Объявите struct Point с полями
int x и int y и
constexpr конструктором из двух
целых. Создайте constexpr Point
origin с координатами 0
и 0 и выведите y.
Запишите struct Tag с полем
int id и constexpr
конструктором. Постройте constexpr Tag
с id, равным 12, и выведите
это поле.