C++相談室 part61
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
500:デフォルトの名無しさん 08/04/11 01:00:40 でもね、C++は巨大で複雑怪奇だからね。Cを引きずってる面もあるし。 無駄を削ぎ落として細部を明確にした言語が望まれるというのもわかるよ。 それとGCの有用性とは別の話だが。 501:デフォルトの名無しさん 08/04/11 01:03:52 実はVBなんかも リソース周りは優秀だったりする 502:デフォルトの名無しさん 08/04/11 01:26:11 continuationを明示的に扱えない言語はうんこ 503:デフォルトの名無しさん 08/04/11 01:26:35 scheme習いたてですか? 504:デフォルトの名無しさん 08/04/11 01:55:30 >>503 C++習いたてです。 505:デフォルトの名無しさん 08/04/11 07:46:34 C#のusingの使いづらさは異常 scopedとでもして識別子が入ってるブロックの最後でdisposeしてくれたほうがよかった 506:デフォルトの名無しさん 08/04/11 08:50:00 素朴な疑問です。 #include <iostream> struct S { virtual void hoge() = 0; // 純粋仮想のみ }; struct S1 : public S { void hoge() { std::cout << "S1" << std::endl; }}; struct S2 : public S { void hoge() { std::cout << "S2" << std::endl; }}; int main() { S1 s1; S2 s2; S& r1 = s1; S& r2 = s2; r1.hoge(); r2.hoge(); r1 = r2; // 基本クラスの参照を代入 r1.hoge(); r2.hoge(); return 0; } VC8で上記のコードを実行すると S1 S2 S1 S2 と表示されました。 r1 = r2;はS::operator=を呼ぶだけなので何も変わらない、と理解したのですが、 これはC++的に正しい挙動なのでしょうか? それとも未定義でたまたまこうなっているだけなのでしょうか?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4596日前に更新/200 KB
担当:undef