[過去ログ]
【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
【初心者歓迎】C/C++室 Ver.102【環境依存OK】 http://mevius.5ch.net/test/read.cgi/tech/1509780815/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
971: デフォルトの名無しさん [] 2018/06/25(月) 03:37:15 ID:3f3crQyZ const char *[]の初期化だけれども clsA(const char* const name[]) : m_name(name) {}; これはまあ何となく意味が解る。m_name <−−nameってことだよね。 clsA() : clsA((const char* const []){"mike","tetu",nullptr}) {}; しかしこれはどういう意味だろうか? clsA <−− (const char* const []){"mike","tetu",nullptr} ラムダ関数?かとおもったが、前半はcastだろうか? m_name <−−name clsA <−− {"mike","tetu",nullptr} この二つがセットで意味を持つんだろうな。 const char *[] の初期化が3つくらいあったらどうするんだろうね。 まるでクイズを解いてるみたいだよ。 いくらなんでも言語仕様としてやはり不味いよね。 http://mevius.5ch.net/test/read.cgi/tech/1509780815/971
972: デフォルトの名無しさん [] 2018/06/25(月) 04:00:03 ID:3f3crQyZ わかった。コンストラクタに引数がないディフォールトでは clsA <−− {"mike","tetu",nullptr} そしてm_nameは一つしかないから、m_name= {"mike","tetu",nullptr}となる。 引数を持つ場合は clsA(const char* const name[]) : m_name(name) {}; m_name <-- name; になる。 じゃあconstのメンバ変数が二つある場合はどうするんだろうか? clsA:clsA( {"xxx"}),clsA({"yyy"}) {} とは書けない。変数を明示しないといけないから、、、 clsA:m_name1( {"xxx","abc"}), m_name2({"yyy","def"}){} 必然的にとなる。 じゃあ最初から clsA:m_name1( {"xxx","abc"}){} こう書いていた方が分かりやすいし、これが成り立たないと論理破綻する。 http://mevius.5ch.net/test/read.cgi/tech/1509780815/972
973: デフォルトの名無しさん [] 2018/06/25(月) 04:04:26 ID:3f3crQyZ class clsA{ private: const char* const* m_name1; const char* const* m_name2; public: clsA() : m_name1((const char* const []){"mike","tetu",nullptr}), m_name2((const char* const []){"mike2","tetu2",nullptr}) {}; clsA(const char* const name[]) : m_name1(name) {}; void put(){ for(const char* const * p=m_name1; *p!=nullptr ;++p ) { printf(*p); } }; virtual ~clsA() {}; }; 実験したみたが、コンパイルは通った。 http://mevius.5ch.net/test/read.cgi/tech/1509780815/973
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.687s*