Re[6]: constexpr это рекомендация?
От: sergii.p  
Дата: 12.04.24 11:08
Оценка:
Здравствуйте, Voivoid, Вы писали:

V>Не совсем понятно о чем именно речь. А можно пример кода?


такой код рассмотрим:

constexpr std::string_view foo() {
    auto p = new char[10];
    p[0] = 's';
    p[1] = 0;
    return p;
}


Он компилируется, хотя легко понять что на этапе компиляции эту функцию не вызвать. Приходится добавлять

static_assert(foo() == "s");


с единственной целью выяснить можно ли вызвать функцию в compile-time. Хотя я уже добавил constexpr и хотел бы чтобы компилятор сам всё проверил и выдал ошибку. То есть добавление constexpr декларирует, но не гарантирует, что функция может быть вызвана на этапе компиляции.
Этот случай простой, его легко и глазами отследить, но бывают то вещи посложнее...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.