Может ли компилятор вывод функции - это contexpr?C++

Программы на C++. Форум разработчиков
Anonymous
Может ли компилятор вывод функции - это contexpr?

Сообщение Anonymous »

В следующем примере разрешено ли компилятор рассматривать Foo как contexpr , даже если он не отмечен явно обоснованным константом ?

Код: Выделить всё

int foo() {
return 42;
}

int main() {
return foo();
}
Обратите внимание, что foo определяется в том же блоке перевода, что и ее вызов. Нет другого объявления Foo (например, в файле заголовка).
Этот вопрос не о постоянном складе или других оптимизациях. Я пытаюсь определить, разрешено ли компилятор с стандартным представлением рассматривать вызов Foo < /code> как постоянное выражение. Этот ответ зависит, в свою очередь, от того, можно ли считать конкретную подэкспрессию самостоятельным выражением. Если это постоянное выражение, то это полное выражение, поэтому я перегонял его на вопрос выше.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -constexpr

Вернуться в «C++»