如果我使用这样的 CString:
void myFunc(char *str)
{
CString s(str);
// Manipulate other data with CString
// ...
// Finished
// Should I somehow delete 's' here to avoid a memory leak?
}
一旦函数超出范围,字符串是否会被删除?
另外,我知道new
关键字分配内存,如果我构造一个没有new
关键字的对象,内存仍然分配吗?我的直觉告诉我是的,但我想验证一下。
例如
CString *asdf = new CString("ASDF");
// same as?
CString asdf("ASDF");