【发布时间】:2010-11-20 19:21:33
【问题描述】:
我有这个代码:
char* value = "abcdefg";
char* secondValue = value;
第二个值将获得值的地址好吗?如果我删除“值”,那么 secondValue 将不可用,对吗?
所以我应该这样做:
char* value = "abcdefg";
secondValue = new char[strlen(value)];
strcpy(secondValue, value);
所以如果我删除“值”没问题。
最后释放我应该做的 secondValue:
delete[] secondValue;
我说的对吗?
【问题讨论】:
-
您的问题被标记并命名为 C,但
delete是 C++ 语法。你的问题有点混乱。 -
新建/删除?那是C++。也许你应该看看 std::string。
-
好的,我将更改标题,我无法访问我正在使用的组件上的标准内容。
-
@okami:为什么不呢?无论如何,重新制作它。
-
您应该将
char*替换为const char*。原因已概述here。