2017-10-16 8 views
0

構造体をその要素の1つに似せることは可能ですか?例:構造体の要素に直接アクセスする

struct example_struct 
{ 
    double x[2]; 
    double operator[](int i){return x[i];}; 
} 
struct example_struct var; 

は、var.xが何らかの形で初期化されたと仮定すると、std::cout<<var[1];ような表現は明らかに動作しますが、私はvar[1]=3;仕事のような表現をするために何をすべきでしょうか?

+1

は ''ダブル&あなたの戻り値の型を作成し、(https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – scohe001

+0

HTTPを[固体C++ブック]を見つけます://www.learncpp.com/cpp-tutorial/98-overloading-the-subscript-operator/ – zzxyz

+0

'struct example_struct var;'はCです。ここにstructは必要ありません。 –

答えて

4

var[1]=3を使用するには、コピーではなく参照を返す必要があります。

struct example_struct 
{ 
    double x[2]; 
    double& operator[](int i) return x[i];}; 
} 
関連する問題