Может ли компилятор вывод функции - это 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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