Я пытаюсь связать библиотеку 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);
Теперь было бы неплохо обернуть операции get
и set
перегрузкой operator[]
double& operator[](int index);
const double& operator[](int index) const;
Но как мне указать, что оператор [] имеет разное поведение между vec[index]=3
и double value=vec[3]
? Для предыдущего следует вызвать vector_set_value
, а для последнего следует вызвать vector_get_value
.
def []
иdef []=
, есть ли аналогичная стратегия в C++? - person xis   schedule 15.08.2013std::vector
operator[]
- person Praetorian   schedule 15.08.2013