1 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 21:53:47 ] The C++ Standards Committee www.open-std.org/jtc1/sc22/wg21/ wiki ja.wikipedia.org/wiki/C%2B%2B0x C++0x pc11.2ch.net/test/read.cgi/tech/1149440647/ C++0x 2 pc11.2ch.net/test/read.cgi/tech/1191842951/
892 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:18:37 ] >>875 valid resourceless state てなーに?
893 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:24:14 ] Java の参照型はまさにポインタだろうが・・・。
894 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:26:03 ] NullPointerExceptionがあるしな
895 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:26:50 ] Javaの参照型はインクリメントできる?
896 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:28:34 ] >>893-895 ネタにマジレスw
897 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:29:56 ] マジレスもできない奴は板を替えたほうがいい
898 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:30:34 ] ネタにマジレスするのが最近のトレンドなんだぜ
899 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:37:47 ] ネタに、というよりホラにマジレスだな
900 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:38:24 ] >>892 d = std::move(s); という構文が実行された直後の s の状態が明確に定義されていなければならないですが, この状態は有効な状態でなければならず,かつ, いかなるリソースの所有権も保持していないような状態でなければならないです. これを valid resourceless state と表現していました. 有効な状態 (valid) でなければならないというのは, move された直後の s に対しての操作が well-defined でなければならないという要請を表現したものです. 少なくとも最低限かつ自明の要求として,いかなるタイミングでも デストラクタの発動は有効に機能しなければならない,という意味で 有効な状態でなければならないことは分かるかと思います. また, move は no-fail,つまり失敗しない操作であることが要求されます. ここで仮に move 直後の s が何らかのリソースの所有権を保持した状態であるとすると s が保持するリソースの確保において失敗が発生する可能性があり, move が no-fail であるという要求と矛盾します. 従って, s はいかなるリソースの所有権も保持していない状態 (resourceless) である必要が出てきます. 一般に,オブジェクトが常に何らかのリソースを確保している状態であることが自然な場合, このようなオブジェクトに move の操作が行えることを要求すると, オブジェクトの構築は完了しているがリソースの確保が完了していない オブジェクトの状態を有効な状態としてユーザに暴露しなければならなくなり, RAII の観点から見てやや大きな弱点を生じるように思います.