Re: Про красивость работы с std::vector
От: m2user  
Дата: 15.03.25 14:27
Оценка:
S>Не очень красиво что при обращении:

S>
S>std::vector<uint8_t> t = obj.getData();
S>


S>- будет создавать полную копию всех данных. Как бы постоянная ловушка. Т.е. нужно не забывать писать:


S>
S>std::vector<uint8_t>& t = obj.getData();
S>


Можно обернуть vector в shared_ptr (и поле класса и тип возвращаемого значения getData().
Тоже не очень красиво выглядит, но зато думать насчет move и пр. NRVO уже не понадобится.
Либо std::span (но он только в C++20, хотя написать свой аналог для частного случая IMHO несложно).
Отредактировано 15.03.2025 18:48 m2user . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.