C++相談室 part122 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0007デフォルトの名無しさん
2016/01/24(日) 11:39:36.09ID:LHp2Xjejもしかしたら全て同じクラスで表現して、有向グラフとして構成するのが一番かも知れん。
> クラスの異層間および同層間の参照がある
ノード間に自明な階層構造があるなら、親への弱いポインタとノードの参照パラメタのタプルを持てばいいんじゃない?
class A {
friend B;
vector<shared_ptr<B>> b;
};
class B {
weak_ptr<A> a;
size_t B_index;
}; // this == a.lock()->b[B_index].get();
> B内のvectorを要素の状態に応じてソートする
これはstd::sortで行ける。
尤も、ベクタが常にソートされた状態に保たれるって条件にしたいなら挿入ソートの方が計算量が少なくなって良いけどね。
ex)
sort(c1.begin(), c1.end(),
[](const shared_ptr<C1>& e1, const shared_ptr<C1>& e2) {
return compare(e1->get_parameter(), e2->get_parameter());
}
);
■ このスレッドは過去ログ倉庫に格納されています