C++クラス内の各種メンバー変数の初期化
1636 ワード
constメンバー変数は直接初期化(C++11)するか、初期化リストで初期化するか、staticメンバー変数はクラス外で初期化し、static const変数は直接初期化し、リストで初期化することはできません.
const_castの本質はポインタを除去する定数性である
class A
{
public:
A():a{0},b{0},c{1}{}
int a;
mutable int b;
const int c;
static int d;
static const int e=6;
void f()const
{
//a++;
cout<<a<<endl;
b++;
cout<<b<<endl;
}
};
int A::d=3;
int main()
{
A ta;
A* fa=&ta;
const_cast<A*>(fa)->a=3;
fa->f();
A ffa;
const_cast<A&>(ffa).a=5;
ffa.f();
return 0;
}
const_castの本質はポインタを除去する定数性である