我有一个关于字符串的问题,或者特别是关于字符串使用的内存的问题。我正在使用 MSVC2010。考虑这段代码:
void Test() {
LPWCSTR String = L"Testing";
PrintString(String);
}
void PrintString(LPWCSTR String) {
// print String to console or similar
}
以这种方式创建和使用字符串是否安全?当字符串超出范围时,是否释放了为存储字符串分配的内存?
最佳答案
是的,它是安全的,但实际上没有分配 ;)
L"Testing"将保留在您的 exe 文件的只读部分(作为一组常量字符)。 LPWCSTR String 只是指向它的指针,不需要销毁/释放
关于c++ - 临时字符串的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724889/