C++相談室 part165at TECH
C++相談室 part165 - 暇つぶし2ch198:デフォルトの名無しさん
24/01/29 21:21:12.23 eAAuxXw40.net
>>189 c++
URLリンク(ideone.com)
URLリンク(ideone.com) を元に若干の整理を行った
・他の人と同様shared_ptrを削除
 値で持てるところは単に値で持つほうがC++っぽいと思う
 ただ「Entry を値で持つのはいやだなあ」とのことなので部分的に残してる
 Javaの参照型変数をshared_ptrに置き換えようとして困るのは
 size_t File::accept(std::shared_ptr<Visitor> v) { return v->visit(std::make_shared<File>(this)); }
 ここがJavaだと単にvisit(this)で済むからスッキリするんだけど
 しかもこれmake_shared(this)だと多重開放するよね??
>>189 c++
URLリンク(ideone.com)
URLリンク(ideone.com) を元に若干の整理を行った
・make_shared<File>(this)の多重開放?を修正
 std::enable_shared_from_thisを使ってJavaの参照型変数っぽい使用感を得た。
・struct this_is_private {};
 これは単にコンストラクタを実質的にprivateにするためだけに使ってる
 URLリンク(en.cppreference.com)
 URLリンク(stackoverflow.com)
 このへん参照されたし


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch