将类的所有const值放在同一个地方

时间:2017-04-15 16:56:10

标签: c++ const

我正在尝试为类使用一些编译时const值,我正在使用constexpr / const,但我不喜欢一些事实,即某些将在hpp中,而某些在.cpp中。

我已经阅读了与字符串与constexpr不兼容的解释,但是 不是把所有这些都放在同一个地方的伎俩吗? 奇怪的是,在现代C ++ 11/14中,你必须在两个不同的位置声明它们。:) 谢谢

// test.hpp
class Test
{
    // initialization values are located clear in the header
    static constexpr int a_{10};
    static constexpr int b_{20};

    // we must go to the cpp file to see this string value
    static const std::string str_;
};

// test.cpp
const std::string Test::str_{"abc"};

0 个答案:

没有答案