このような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");