【发布时间】:2015-07-03 18:13:30
【问题描述】:
我有以下代码sn-p:
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。如何用d 和RAII 的5 符号创建指针?
【问题讨论】:
标签: c++ pointers c++11 vector raii