Ты не.Если вам нужно изменить это ... ну, тогда это не должно быть const
.Эти две цели находятся в прямом противоречии друг с другом.
Вместо того, чтобы просить решение проблемы, которая не имеет смысла, расскажите нам, чего вы на самом деле пытаетесь достичь здесь.Вы пытаетесь вернуть вектор из метода, который вы не хотите, чтобы caller мог изменить?В этом случае создайте метод получения и верните const vector&
#include <vector>
class Foo
{
public:
// clients can't change this vector directly
const std::vector<int>& get_vector() const { return _vec; }
// you can still create an interface that allows
// mutation of the vector in a safe way, or mutate
// the vector internally.
void push_back( int i ) { _vec.push_back( i ); }
private:
std::vector<int> _vec;
}