我知道這個類是一個描述,所以我們不能在其中定義const。但我覺得它讓我不解,第一:在一個類中聲明的Const和Static,C++
class A
{
private:
const int Months=12;// Fails
};
我不知道我是正確的,我想如果有可能是A的許多物體,會有很多常量個月。所以C++禁止它。
但二:
class A
{
private:
static int Montshs =12;//Fails,
};
我也知道個月可以被初始化了A級; 我認爲這是一個描述,所以我們不能用靜態的,A級初始化(我不知道閹我是對的),
但去:
class A
{
private:
static const int Montshs =12;//ok,
};
這將是確定,我不能給自己一些理由。任何人都可以善意告訴我原因嗎?
有沒有人可以給我關於這三個問題的詳細解釋? 我想也許這是關於記憶的安排。
請注意,第一個在當前標準(C++ 11)中是有效的。 – juanchopanza