2017-07-02 7 views
0

私はC++コードを理解しようとしています。 (私は初心者でJavaに慣れています) そして、私はここで何が起こるのか理解するのが本当に苦労しています。ここで何が起こっているC++で配列の演算子マイナス( - )を使用

MapDimensionProperties(const Eigen::Vector2f& OffsetIn, const Eigen::Vector2i& mapDimsIn, float cellLengthIn) 
    : tOffset(OffsetIn) 
    , mapDims(mapDimsIn) 
     , cellLength(cellLengthIn) 
     { 
     // I don't understand the following part: 
     mapLimits = (mapDimensionsIn.cast<float>()).array() - 1.0f; 
     } 

ので、私はこの

 Eigen::Vector2i mapDims; 
     Eigen::Vector2f mapLimits; 
     float cellLength; 

とこのようになります私のクラスのコンストラクタを得ましたか。私は、この整数ベクトルが浮動小数点型ベクトルにキャストされているように見えます。しかし、どのように配列から浮動小数点数を減算することができますか?私はあなたが何かを引いてみたい特定のインデックスを指摘する必要はないのですか? ArrayとmapLimitsがベクトルの場合、mapLimitsをどのようにオーバーライドできますか?

ここで私は完全に間違っていますか?

ありがとうございます。

+2

オペレータオーバーロードと[良いC++ブック](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) –

+0

@PasserBy ...を調べる必要があります。よく私はこれがおそらく愚かな質問であることを知っていますが、私はそれを研究しようとしましたが、私は私が知らないものを正しくフレーズする方法を知らないようです... – kalu

+0

@PasserBy EDIT:私は演算子がEigen :: Vector2fのためにどのようにoerloadされているかを調べることができます – kalu

答えて

2

これは、オーバーロードされたoperator -で、配列のすべての項目からスカラー値を減算します。 私は、このドキュメントでそれについて説明していると信じています:link

関連する問題