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[] のオーバーロードによってget
and操作をラップするとよいでしょう。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
は呼び出す必要があります。