[過去ログ] C++相談室 part134 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
963: (ワッチョイ 9334-3URi) 2018/03/31(土)09:22 ID:Nj0xu+770(3/7) AAS
訂正しただろ
仮想関数はアドレスが取れないだろ
964: (ワッチョイ 1908-kUw7) 2018/03/31(土)09:23 ID:15qJIIAA0(2/3) AAS
取れるよ、何言ってんの
そのポインタは動的結合までできる優れもの
965(1): (ワッチョイ 9334-3URi) 2018/03/31(土)09:25 ID:Nj0xu+770(4/7) AAS
出来ないよ
何いってんの
966: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5b6f-kUw7) 2018/03/31(土)09:26 ID:nFIfPX7B0(3/6) AAS
>>959
変数に見せかける以上は変数と同じようにふるまうことを期待するってのは普通の要求じゃないか?
データメンバに対して操作するテンプレートはプロパティを操作するテンプレートとしても使えて欲しい。
でもまあ充分に「見せかける」ことが出来ないのなら問答無用でエラーになった方がマシではあるかもしれん。
967: (ワッチョイ 5be7-Cooj) 2018/03/31(土)09:41 ID:C63IJ9vb0(3/3) AAS
objがlvalueなのにobj.int_propがrvalueになるのはまずいと思うんだよなあ
うっかり関数の戻り値でその参照なんか返そうものなら相当わかりにくいバグになる
C#とかはその辺の問題どう解決してるのかしらね
968: (ワッチョイ 9334-3URi) 2018/03/31(土)09:48 ID:Nj0xu+770(5/7) AAS
property int count {
>>() {return count_ ; } // getter
<<(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
};
みたいにアドレス抽出用のメソッドを追加すりゃ良いだけのような気がする
969(1): (ワッチョイ 4150-W7mk) 2018/03/31(土)10:00 ID:HGehdmya0(2/2) AAS
コードを減らす為の規格追加でコードを増やす解決法
う〜ん
970: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5b6f-kUw7) 2018/03/31(土)10:21 ID:nFIfPX7B0(4/6) AAS
>>969
これは抽象化の話なんだよ。
変数のように見せかけるためには何が必要かって話なの。
971: (ワッチョイ 1908-kUw7) 2018/03/31(土)10:29 ID:15qJIIAA0(3/3) AAS
>>965
外部リンク:ideone.com
972: (ワッチョイ 9334-3URi) 2018/03/31(土)10:35 ID:Nj0xu+770(6/7) AAS
property int count {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
}
この方がしっくり来るな
973: (スップ Sdb3-W7mk) 2018/03/31(土)10:56 ID:aygih7Tkd(1/3) AAS
予約語を増やすとどれだけの影響があるか
なんて考えたことはないのかな?
974: (スップ Sdb3-W7mk) 2018/03/31(土)10:57 ID:aygih7Tkd(2/3) AAS
まあここはC++相談室
おれが考えた最強言語を語るところじゃない
975: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5b6f-kUw7) 2018/03/31(土)11:05 ID:nFIfPX7B0(5/6) AAS
opaque definition でゲッタを定義できるように拡張すればプロパティ専用の構文を導入する必要なく
プロパティを実現できるのではないかと妄想していた。
976: (ワッチョイ 9334-3URi) 2018/03/31(土)11:10 ID:Nj0xu+770(7/7) AAS
using count = int {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
};
予約語増やさないならこんな感じに書けなくもない
977: (ワッチョイ 5be9-VlFK) 2018/03/31(土)11:21 ID:Pb+ZodvD0(1) AAS
プロパティの実装の議論までここでするか?
Dと同じでいいじゃん
978: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5b6f-kUw7) 2018/03/31(土)11:23 ID:nFIfPX7B0(6/6) AAS
前提が違うものを同じには出来ないよ。
参考にすることはあると思うけど。
979: (スップ Sdf3-qGf7) 2018/03/31(土)12:19 ID:+mjd8c8id(1) AAS
仮想関数のアドレスが取れないという発言は何だったんだろう
980: (ワッチョイ b37e-YG9/) 2018/03/31(土)13:29 ID:19OTzhSN0(3/3) AAS
>>950
std::pair<Super*,std::string> obj2 = std::make_pair(new B(), "ClassB");
981: (スップ Sdb3-W7mk) 2018/03/31(土)13:32 ID:aygih7Tkd(3/3) AAS
スレチ
次スレまで引きずるなよ
982: 2018/03/31(土)13:50 AAS
>>950
クラスA, B, Cにそれぞれ自分自身のインスタンスを生成するstaticメソッドを用意し、
そのstaticメソッドへのポインタを返す共通メソッドを用意する。
上下前次1-新書関写板覧索設栞歴
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.187s*