Здравствуйте, Shmj, Вы писали:
SVZ>>Адреса объектов иногда используются в качестве ключа в коллекциях.
S>Можно же не constexpr использовать.
У constexpr есть конкретное назначение. Не надо его усложнять.
SVZ>>Но если тебе нужен _один_ объект, то для этого существует паттерн "синглетон".
S>Нет, вы тоже не поняли идею. Не удивлен, у меня 2 месяца ушло, чтобы это оценить.
Да нечего тут понимать. Ты хочешь, чтобы компилятор (автоматически) делал то, что всегда делали руками (осмысленно).
S>Дело не в том что объект один. Объекты экономят память — проверяются данные constexpr и если все то же самое уже есть в памяти — нет нужны создавать. Но это еще цветочки. Ягодки — это все приводит к новой концепции оптимизаций — теперь при вызове методов таких объектов имеем 100% гарантию что метод вернет все то же самое, по этому метод можно не вызывать. Небольшие оговорки есть, конечно.
Очнись! Этой "новой" концепции уже лет 25, если не больше.

Только реализовывали руками, ибо нечего там компилятору делать.