【发布时间】:2015-06-29 09:10:56
【问题描述】:
我尝试从给定的 char 指针创建一个std::vector,而不分配新内存。这样他们就可以在同一个内存上工作。
我试过这个:
int main()
{
char* test1 = "test value";
std::vector<char> testVector(test1, test1 + strlen(test1));
testVector[4] = 0;
std::cout << test1 << std::endl;
std::cout << &(testVector[0]) << std::endl;
}
但这不起作用输出是:
测试值
测试
但如果他们在同一内存上工作,那一定是:
测试
测试
有什么办法吗?
【问题讨论】:
-
vectors 复制您提供给他们的任何内容,vector的全部意义在于管理其内容的生命周期,如果您不需要,请不要使用。