[過去ログ] C++相談室 part165 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
194
(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ 2a3e-MxBP) [sage] 2024/01/28(日) 23:52:27.85 ID:hRRbWEE/0(3/3) AAS
なんかもうポインタをいじるのが面倒になったので値としてやりとりしていいやという気持ちと
標準ライブラリを積極的に活用することにしたらこうなった。
外部リンク:wandbox.org
195: ◆QZaw55cn4c (ワッチョイ 3583-LgJ8) [] 2024/01/29(月) 04:35:04.36 ID:M6sadnnj0(1/2) AAS
>>193
193(1): デフォルトの名無しさん (JP 0Hbd-DQL8) [] 2024/01/28(日) 23:17:29.01 ID:wkb3ctO/H(1) AAS
面白そうだからちょっと書いてみた。大きな変更点はこんな感じ。

・accept が受け取るのは単に Visitor の参照でいい。ここで shared_ptr を使う必要はない。
・Visitor が受け取るのも File や Directory の参照でいい。
・SizeVisitor もいらない。File と Directory はともに Entry の子クラスとして getSize() を実装してるんだから、無理に visitor パターンを使わなくても単に getSize() を呼べばいいだけ。
・iterator() が返すのも VectorIterator の shared_ptr ではなく、単に VectorIterator を返せばいい。

全体的に使う必要がない場面で shared_ptr を使ってるのが目立ったと思う。

外部リンク:wandbox.org

だいぶすっきりしたんじゃない?
拝読させていただきました。なるほど、関係性を示すポインタ=参照なら std::shared_ptr でくるむ必要ガない、というわけですか。
>>194
拝読させていただきました。Entry を値で持つのはいやだなあ。 dectype の使い方を学ばせていただきました。
196: ◆QZaw55cn4c (ワッチョイ 3583-LgJ8) [] 2024/01/29(月) 05:00:34.95 ID:M6sadnnj0(2/2) AAS
>>194
std::size_t()
あたりから読めていません。operator() をどう使っているのでしょうか?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.053s