LINUX.ORG.RU

[C++11] Обобщённые константные выражения.


0

2

Кто владеет темой лучше чем статья в википедии?
Там как я понял, написано что компиллятор может признавать константным объект с константным конструктором.
А если объект после конструирования подвергается настройке, причём исключительно методами используещими константные данные?
Этот случай в стандарте предусмотрен?


Ответ на: комментарий от slovazap

Почему неконстантен?
Такие же выражения допускаются -

constexpr double accelerationOfGravity = 9.8;
constexpr double moonGravity = accelerationOfGravity / 6;
Почему не допустить возможность изменений объекта которые происходят во время компилляции?

knkd
() автор топика
Ответ на: комментарий от knkd

> Почему не допустить возможность изменений объекта которые происходят во время компилляции?

В твоём примере нет изменений, только инициализация. Которая делается в общем случае конструктором. Который, если он constexpr, вполне можно юзать на этапе компиляции.

const86 ★★★★★
()
Ответ на: комментарий от knkd

> В общем да. Но количество параметров может зашкаливать.

Ну сгруппируй их как-нибудь по смыслу, сделай несколько объектов. Если сгруппировать нельзя, значит, пусть будет зашкаливающее количество параметров, честно отражающее объективную реальность.

const86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.