boost::signal
はコピー不可能です(信号のコピーには意味がありません)。一部のコピーctor(ノーオペレーションかコピーすべての接続)。コピーブースト::信号を作成するには?
私はこれが私のプロジェクトに多くのオブジェクトがちょうど特色信号のおかげでコピー不可となっているためで、快適な値のセマンティクスでそれらを処理するために必要な理由、私は手動でコピーを提供する必要があります(shared_ptrsがないとして快適です) - 医者、DRYに違反する。明らかに、一種の準コピー可能な信号は、ここではC++の醜さのための良い回避策となるでしょう。
最初の解決策は、signal
を継承し、派生クラスにコピーctorを提供していますが、信号には仮想dtorがないため、これはno-goです。
思考?
信号をコピーする際の問題は、すべての「接続」オブジェクトが古い信号を参照するということです。心に留めておきます! – Qix