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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
77
(1): デフォルトの名無しさん (ワッチョイ d701-Qbcu) [sage] 2023/12/11(月) 16:34:20.59 ID:dil4ai7q0(2/2) AAS
>>74
74(1): デフォルトの名無しさん (ワッチョイ 9f1f-oseA) [sage] 2023/12/11(月) 15:29:19.94 ID:7vxydTfj0(2/2) AAS
使われると、ラムダ式の質問をすることになると思います・・・
思い出すのがしんどくなってきた
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
struct A {int value_;};
bool compA2 (const A &lhs, const A &rhs) {
return lhs.value_ < rhs.value_;
}
struct B {A a;};
int main () {
vector <B> bs;
bool (*compA) (const A &, const A &) {compA2};
sort (bs.begin(), bs.end(), bind (compA, bind (mem_fn (&B::a), placeholders::_1), bind (mem_fn (&B::a), placeholders::_2)));
sort (bs.begin(), bs.end(), [compA] (const auto &lhs, const auto &rhs) {return (*compA) (lhs.a, rhs.a);});
return 0;
}
78: デフォルトの名無しさん (ワッチョイ 771f-oseA) [sage] 2023/12/11(月) 17:14:54.00 ID:cVrrslE50(1/2) AAS
>>75
75(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ 9f3e-pD6R) [sage] 2023/12/11(月) 15:45:20.57 ID:wAhsIAfi0(1/2) AAS
>>72
もし C++20 を使えるなら (std::sort と違って) std::ranges::sort では比較関数とは別に
比較すべき要素を取り出す操作をプロジェクションとして与えることが出来るから
これ一発でいけてだいぶん楽できる。

std::ranges::sort(bs, compA, &B::a);
>>77
お二方、ありがとうございます
参考にして組んでみます
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s