LINUX.ORG.RU

История изменений

Исправление pathfinder, (текущая версия) :

Не надо экономить на спичках. Если нужен буфер, используй std::vector<char>. Пускай инициализируется.

Такой код должен быть понятен всем.

Если бы API можно было изменить и если бы заполняемый буфер представлял собой линейных массив объектов одного типа, то проще было бы использовать функцию std::vector<T>::emplace_back() внутри функции getData() и передавать в функцию vector<T>, а не void*.

Исправление pathfinder, :

Не надо экономить на спичках. Если нужен буфер, используй std::vector<char> v. Пускай инициализируется.

Такой код должен быть понятен всем.

Если бы API можно было изменить и если бы заполняемый буфер представлял собой линейных массив объектов одного типа, то проще было бы использовать функцию std::vector<T>::emplace_back() внутри функции getData() и передавать в функцию vector<T>, а не void*.

Исходная версия pathfinder, :

Не надо экономить на спичках. Если нужен буфер, используй std::vector<char> v. Пускай инициализируется. Функцию вызывай так: getData(v.data()).

Такой код должен быть понятен всем.

Если бы API можно было изменить и если бы заполняемый буфер представлял собой линейных массив объектов одного типа, то проще было бы использовать функцию std::vector<T>::emplace_back() внутри функции getData() и передавать в функцию vector<T>, а не void*.