Open XRay3D opened 2 years ago
Выглядит прикольно... А зачем такое на практике?
Хех, думал про такое в контексте name(string literal), но семантически мы конструируем один объект, а по факту конструируем как бы весь класс(статическое поле), что как то неправильно, плюс я не нашёл каких то годных применений кроме сокращения записи чуть чуть
В C++ он на самом деле разрешен (видимо по принципу "разрешено то, что не запрещено"), такой код работает https://godbolt.org/z/5o3xYMo51
Однако мешающих багов достаточно много. Такой набор у Clang - https://github.com/llvm/llvm-project/issues?q=is%3Aissue+consteval+is%3Aopen, у GCC/MSVC скорее всего тоже немаленький.
В C++ он на самом деле разрешен (видимо по принципу "разрешено то, что не запрещено"), такой код работает https://godbolt.org/z/5o3xYMo51
Однако мешающих багов достаточно много. Такой набор у Clang - https://github.com/llvm/llvm-project/issues?q=is%3Aissue+consteval+is%3Aopen, у GCC/MSVC скорее всего тоже немаленький.
Но таким образом не удается инициализировать constexpr поля.
Разрешить consteval конструктор:
Возможное использование: