К сожалению, я несколько смущен насчет constexpr
, глобальных констант, объявленных в файлах заголовков, и odr.
Короче: можем ли мы заключить здесь
https://isocpp.org/files/papers/n4147.pdf
что
constexpr MyClass const MyClassObj () { return MyClass {}; }
constexpr char const * Hello () { return "Hello"; }
предпочтительнее
constexpr MyClass const kMyClassObj = MyClass {};
constexpr char const * kHello = "Hello";
для определения глобальных переменных в файле заголовка если я хочу "просто использовать" те объявленные глобально объявленные объекты и не хочу думать о том, как я их использую?