我想在那裏n
是在編譯時基於的Last
下enum
值已知initalize在Foo
類static const std::vector
{0, 1, 2, 3, ..., n}
到。目標是Foo::all
包含Fruit
enum的所有值。C++初始化const的靜態矢量動態
在foo.h
:
enum Fruit { Apple, Orange, Banana, ..., Last };
class Foo {
public:
static const vector<int> all;
};
在foo.cpp
:
// initialization of Foo::all goes here.
慣用C++ 11的方式不會使用'='符號的
constexpr
功能。 –@JonathanWakely,除了與BigInt i = 5;'BigInt i(5);'相同的交易之外,還有什麼區別嗎?我從來沒有見過強烈的意見? – chris
@JonathanWakely好的,我不知道。 g ++接受任一個。 –