auto_ptr. ++ 0x std::unique_ptr (: ++ 0x Draft Standard, D, 10). std::tr1::shared_ptr boost::scoped_ptr.
- , . boost::shared_array .
. , , , std::vector std::vector ( std::array , ). , :
std::vector<uint32> dataVector;
data.reserve(123);
std::tr1::array<uint32, 123> dataArray;
, - uint32*, vector std::tr1::array , C-style:
processData(&dataVector[0]);
processData(dataArray.data());
, . processData :
processData(&dataVector[0], dataVector.size());
/ C-, :
void processData(std::vector<uint32>& data) {
}
processData(dataVector);
vector s, std::tr1::array . , , , :
template <class AnIterator>
void processData(AnIterator begin, AnIterator end) {
for (AnIterator it = begin; it != end; ++it) {
}
}
processData(dataVector.begin(), dataVector,end());
processData(dataArray.begin(), dataArray.end());
processData(c_data, c_data + number_of_items_in_c_data);
, C .