どのようなものです:私は再び、ホイールを再発明していますことを、ここで考えて公共ヘッダの非暴露のタイプを使用することのリスクは、私がそのパブリックインターフェイスクラスの1のように定義されたライブラリ開発しています
class speed:
public:
//constructors, operators, setter, getters...
private:
float x,y,z;
};
を。普通のfloat x,y,z
の代わりにEigen::vector3f
(または他の既知の第3のライブラリの代わりのもの)をプライベートメンバー変数として使用すると、すべてのコーナーのケースを処理するすべての演算子演算子を書き直すよりはるかに優れています。
同時に、私は自分のライブラリに第三者を公開したくない(これは私が満たす必要がある)。
Eigen::vector3f
またはその他のうまく設計されたフロートベクトルを宣言し、適切なスマートポインタ内で使用することは賢明でしょうか?ご意見・ベースの質問のスタイルではないトラップするに
:
- は、このアプローチを使用して、任意のリスクの可能性はありますか?
- データが動的に割り当てられているため、理論的にはパフォーマンスが低下しますか?