околонулевые знания? Какие проекты делать?
Простые. Потом сложнее
Илья а для переменные constexpr нужны? Делают одно и тоже что и обычный конст
Внезапно, делают не одно и то же. constexpr указывает на то, что значение будет вычислено на этапе компиляции.
А в чем разница если написать const int i = a + b с constexpr
Разница в том, на каком этапе будет посчитано значение — в рантайме или на этапе компиляции. const делает переменную константной (читай, неизменяемой) в рантайме, а constexpr — считает её на этапе компиляции.
И какую разницу это нам даст? Все ровно оба неизменяемые
contexpr size_t size = some_constexpr_calculation(); std::array<int, size> my_array;
Как минимум более сильная гарантия, возможность использовать в constexpr функциях (читай, выполнение во время компиляции).
Чтобы понять constexpr — надо понять отличия рантайма и времени компиляции. А ещё, разницу между различными местами хранения информации (стек, куча или «в коде»). Значения constexpr прописываются непосредственно в коде на этапе компиляции.
Ясненько. Тогда когда изучу спрошу снова
Это можешь прочитать в учебнике
Обсуждают сегодня