【发布时间】:2016-01-22 11:29:34
【问题描述】:
当我删除给定函数“lowerCaseWord(char* a)”的b内存时?我需要返回b的值,所以不能在“return b;”行之前删除它。我需要使用另一个变量吗?还是编译器会单独删除它(即使它的编程不好)?
char* lowerCaseWord(char* a)
{
char *b=new char[strlen(a)];
for (int i = 0; i < strlen(a); i++)
{
b[i] = tolower(a[i]);
}
return b;
}
【问题讨论】:
-
@Moo-Juice 是 C++。尝试使用 C++ 编译器进行编译。
-
@zenith,哦,是的 - 它将使用 C++ 编译器进行编译 - C 也是如此。我的意思是,如果你编写的是 C++ 而不是 C :)
标签: c++ pointers memory-management