1

タプルは構造体に似ています(ここで説明:Boost :: Tuples vs Structs for return values)。唯一の利点は、構造体が数字ではなく短く、キーで記述できる方が便利なことのようです。

フュージョンマップと構造体を使用して、構造体をシミュレートするための戻り値として、キーBoost::TuplesとStructsでアクセスすることもできます。もう少し書きます。

パフォーマンスにもペナルティはないようです。ビューを使用するため、フュージョンの方が高速な場合があります。

したがって、構造体を使用する唯一の理由は、コードをさらに数行記述したくない場合と、コードを読みやすくしたい場合です。

4

2 に答える 2

3

したがって、構造体を使用する唯一の理由は、コードをさらに数行記述したくない場合と、コードを読みやすくしたい場合です。

また、拡張性/保守性もあります。タプルに追加の位置引数を配置/変更/削除するのは非常に困難ですが、「キー値」構造体ルックアップを使用すると非常に簡単です。

コードの品質は、パフォーマンス、可読性、明瞭さ、拡張性などの組み合わせです。この値を無視すると、コードが悪化します。そして、これは悪いことです。

于 2013-01-12T00:11:18.020 に答える
2

構造体はサブクラス化でき、メソッド、仮想関数、列挙、typedef、サブ構造体などを含めることができます。

タプルは、の最も些細な機能struct、つまり値のコレクションのみを表すことができます。そして、それは彼らに適切な名前を与えることさえできません。それらは非常に貧弱な代替品です。

于 2013-01-12T01:37:30.540 に答える