C++相談室 part134
レス数が1000を超えています。これ以上書き込みはできません。
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured >>959
メンバ関数のポインタ構文が何故あるのですか? 取れるよ、何言ってんの
そのポインタは動的結合までできる優れもの >>959
変数に見せかける以上は変数と同じようにふるまうことを期待するってのは普通の要求じゃないか?
データメンバに対して操作するテンプレートはプロパティを操作するテンプレートとしても使えて欲しい。
でもまあ充分に「見せかける」ことが出来ないのなら問答無用でエラーになった方がマシではあるかもしれん。 objがlvalueなのにobj.int_propがrvalueになるのはまずいと思うんだよなあ
うっかり関数の戻り値でその参照なんか返そうものなら相当わかりにくいバグになる
C#とかはその辺の問題どう解決してるのかしらね property int count {
>>() {return count_ ; } // getter
<<(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
};
みたいにアドレス抽出用のメソッドを追加すりゃ良いだけのような気がする コードを減らす為の規格追加でコードを増やす解決法
う〜ん >>969
これは抽象化の話なんだよ。
変数のように見せかけるためには何が必要かって話なの。 property int count {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
}
この方がしっくり来るな 予約語を増やすとどれだけの影響があるか
なんて考えたことはないのかな? まあここはC++相談室
おれが考えた最強言語を語るところじゃない opaque definition でゲッタを定義できるように拡張すればプロパティ専用の構文を導入する必要なく
プロパティを実現できるのではないかと妄想していた。 using count = int {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
};
予約語増やさないならこんな感じに書けなくもない プロパティの実装の議論までここでするか?
Dと同じでいいじゃん 前提が違うものを同じには出来ないよ。
参考にすることはあると思うけど。 仮想関数のアドレスが取れないという発言は何だったんだろう >>950
std::pair<Super*,std::string> obj2 = std::make_pair(new B(), "ClassB"); >>950
クラスA, B, Cにそれぞれ自分自身のインスタンスを生成するstaticメソッドを用意し、
そのstaticメソッドへのポインタを返す共通メソッドを用意する。 リフレクションがある言語でGUIの画面またはユーザーコントロールを作成する際に
YSIWYGで作ることをやれるIDEを作りたい、というときに、メンバー関数とプロパティーの2種類あったら便利なのや
C++にプロパティー入れたらリフレクションも来るでこれは…
もっとも上記課題解決のための技術は10年も前にWPFの登場で丸ごと過去の技術やがな… ていうかWPFのコンバーターの書き方とか、メンバ関数に逆戻りやぞ…
(IValueConverter.Convert(), IValueConverter.ConvertBack(),
IMultiValueConverter.Conver(), IMultiValueConverter.ConvertBack(), ... リフレクションはゴミとまで言わないけどc++にはいらない機能 リフレクションがあれば死なずに済んだ人もいるだろうに。 c++のfriendはprivateメンバーすべてにアクセスできてしまうけど特定の変数だけ、もしくは特定の関数だけfriendにする事は可能でしょうか? >>990
ピンプるか、○○って俺の友達の友達なんだぜーにしてしまうか、かなー pimplイデオムはなんとなくわかるけど、俺の友達の友達は編集したい対象を別のクラスに分けてしまうこと? そういえばシステムハンガリアンはしばしば批判されるのに、pimplのpは批判されているのを見たことがないな。 >>995
そこは「ハンガリアンじゃなくて半刈りやん」って言って欲しかった。 >>998
WYSIWYGのtypoなだけやん
アスペか このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 72日 3時間 44分 41秒 レス数が1000を超えています。これ以上書き込みはできません。