1

C ライブラリを C++ プロジェクトに接続しようとしています。ライブラリには独自のベクトル型があり、 であると想定されVECTOR、要素へのアクセスを提供します。

int vector_set_value(VECTOR* vec, int index, double new_value);
int vector_get_value(VECTOR* vec, int index, double* retrieved_value);

ここで、operator[] のオーバーロードによってgetand操作をラップするとよいでしょう。set

double& operator[](int index);
const double& operator[](int index) const;

vec[index]=3しかし、 operator[] が と の間で異なる動作をすることをどのように伝えればよいdouble value=vec[3]でしょうか? 前者は呼び出す必要がvector_set_valueあり、後者vector_get_valueは呼び出す必要があります。

4

1 に答える 1