Рассмотрим следующий код.
struct MyData{
MyData(const BYTE* pData, size_t uSize)
: bucket_(pData, pData + uSize)
{}
std::vector<BYTE> bucket_;
};
Является ли мой bucket_ первым reserve при инициализации из пары итераторов? Что-то вроде vec.reserve(std::distance(begIter, endIter)).
Или просто просто выполнить серьезный push_back или back_inserter_iterator::operator=?
Если это не так, мне может понадобиться инициализировать его с помощью uSize из 0, а затем сделать блок memcpy_s в конструкторе.