- C++相談室 part112
99 :デフォルトの名無しさん[sage]:2014/04/13(日) 10:26:55.87 ID:N/BcLaK6 - クラス変数で、
static const int a=1; がなんで宣言であり定義とどこがちがうんですか? クラス変数で const int a; と定義してコンストラクターで初期化するのと 上の方法の違いってなくないですか? constでメモリが参照されなければ最適化で変数は値に置き換えられるじゃないですか。 staticをつける意味はなくないですか?
|
- C++相談室 part112
102 :デフォルトの名無しさん[sage]:2014/04/13(日) 11:29:02.12 ID:N/BcLaK6 - >>100
作るとどうなりますか? >>101 できるんですか?
|
- C++相談室 part112
104 :デフォルトの名無しさん[sage]:2014/04/13(日) 12:51:07.94 ID:N/BcLaK6 - えっ,コンストラクターの横についてる:の後ろのやつならできるでしょ
|
- C++相談室 part112
106 :デフォルトの名無しさん[sage]:2014/04/13(日) 14:36:26.43 ID:N/BcLaK6 - >>105
実態の数は両方とも0だと思いますけど あと、一番初めの質問も教えてください。 static const int a=1;が宣言であり 定義ではないということです。
|
- C++相談室 part112
110 :デフォルトの名無しさん[sage]:2014/04/13(日) 15:29:45.13 ID:N/BcLaK6 - >>109
effective C++に定義ではなく宣言ですと書いてある。
|
- C++相談室 part112
112 :デフォルトの名無しさん[sage]:2014/04/13(日) 15:57:46.28 ID:N/BcLaK6 - sizeof(test2)をやるとaのアドレスを参照するから
メモリーが確保されるってことですか?
|