Re: Про красивость работы с std::vector
От: sergii.p  
Дата: 16.03.25 09:09
Оценка: 1 (1)
Здравствуйте, Shmj, Вы писали:

то, что vector (и не только он) скрытно может копировать данные — это действительно проблема всей stl. Я бы решал её переопределением своего "пуританского" вектора (без блекджека).

template <typename T>
class greedy_vector : public std::vector<T> {
public:
    using std::vector<T>::vector;

    greedy_vector explicit_copy() const {
        return *this;
    }

private:
    greedy_vector(const greedy_vector& other): std::vector<T>(other) {}
};


теперь просто так не скопируешь:

greedy_vector<int> data{100};
const auto copy = data; // ошибка
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.