我有下面的代码片段:为什么指针包含一些垃圾?
size_t size = 5;
std::vector<char> container(size, 'd');
std::copy(container.begin(), container.begin() + size,
std::ostream_iterator<char>(std::cout, " ")); // d d d d d
auto ptr = containter.data();
//ptr == dddddTRASHTRASH why??
char* str_ = new char[size + 1];
memcpy(str_, container.data, size * sizeof(char));
std::cout << str_ << std::endl; // dddddTRASHTRASHTRASH!!!!
我不明白,为什么我的指针不仅包含d
。如何用5
创建指针d
的符号与RAII
?
谢谢你的回答。 – Denis