C++在对向量中存储字符串的副本

blc*_*llo 1 c++ vector cstring std-pair

我在一个定义为的类中有一个私有属性vector<pair<char *, int> > data;.我用这个向量添加数据data.push_back(make_pair(p, r));.后来当我从矢量中获取数据时,我得到了p值的坏数据.返回的数据就像??U3.我认为这是因为存储了一个指向char数组的指针.我将如何在矢量中存储实际副本.如果它有助于char数组永远不会超过255个字符+ 1为null终止.

Ida*_*n K 5

char*什么理由使用?

使用std::string,这将使你的问题消失.