template <typename E>
class VecExpression{
public:
operator E&(){
return static_cast<E&>(*this);
}
operator E const&() const{
return static_cast<const E&>(*this);
}
};
このコードを教えていただけますか?このような演算子のオーバーロードは見たことがありません。戻り値の型は何ですか?パラメータはありますか?使用状況や、どこで呼び出されているのかを確認できますか?C++式テンプレート:operator what?
出典:http://en.wikipedia.org/wiki/Expression_templates
このコード例は本当に助かりました。どうもありがとう。 – Arlen
*明示的なキャストは必要ありません。 – Nawaz
C + +では正に、Cスタイルのキャストは_bad_といたずらです。 'static_cast(a)'を実行してください。そうでない場合は暗黙の変換に依存します。 –