C++相談室 part166 (569レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

219
(2): デフォルトの名無しさん (ワッチョイ eea1-bAVr) [sage] 2025/06/04(水) 04:46:09.37 ID:GWnctGWc0(1/4) AAS
質問なのですが
double qax(int a, long b) { ... }
double quux(int a, long b) { ... }
std::function<double(int, long)> gfred= qax;
としたときに、gfred が qax と同じだが quux とは違う、というのを判定するにはど
うしたら良いの?
224: デフォルトの名無しさん (ワッチョイ eea1-bAVr) [sage] 2025/06/04(水) 23:13:17.20 ID:GWnctGWc0(2/4) AAS
>>221
221(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) [sage] 2025/06/04(水) 09:29:46.05 ID:XvRleYyH0(1) AAS
>>219
元の型で取り出すためのメンバ関数テンプレートとして target が使える。
↓こういうことがしたいのかな?
外部リンク:wandbox.org
なるほど……

>>222
222(1): デフォルトの名無しさん (アウアウウー Sac5-Uswy) [sage] 2025/06/04(水) 09:58:31.17 ID:pOYKhOcIa(1) AAS
>>219
外部リンク:ideone.com
なるほど……

しかしstd::function<T>::target()で関数オブジェクトも扱えるらしいとわかったのでやってみたら
こちらは意図通り動かず釈然とせんぬ……
外部リンク:ideone.com

24行目〜26行目のif文の動きが思ってたのと違う……

一体どうすれば……orz
225: デフォルトの名無しさん (ワッチョイ eea1-bAVr) [sage] 2025/06/04(水) 23:18:49.86 ID:GWnctGWc0(3/4) AAS
24行目〜26行目のif文の動きが思ってたのと違う……
226
(2): デフォルトの名無しさん (ワッチョイ eea1-bAVr) [sage] 2025/06/04(水) 23:27:49.48 ID:GWnctGWc0(4/4) AAS
とりま↓こうしたら逝けた……
外部リンク:ideone.com

んまーfooのインスタンスの寿命を考えたらstd::function<T>はfooをコピーする実装になるという予想の下に、
fooを構築したときのthisをメンバm_objIDに記憶させて、fooの等値演算はm_objIDの比較で行うようにしたらイゴイタ……

5chは漏れの日記帳……
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.284s*