16,472
社区成员
发帖
与我相关
我的任务
分享
LPTSTR GetStr()
{
return L"aaaaa";
}
#include <iostream>
#include <Windows.h>
#include <tchar.h>
LPTSTR GetStr1()
{
return _T("这是一个字符串常量,它是有固定的全局内存地址的,所以可以返回。\r\n");
}
LPTSTR GetStr2()
{
TCHAR szStr[] = _T("现在这些字符是保存在局部变量里,当函数返回时,局部变量所在的内存就不存在了\r\n");
// VS 2008 SP1编译,这里会得到一个警告:
// warning C4172: 返回局部变量或临时变量的地址
return szStr;
}
int _tmain()
{
_tsetlocale(LC_ALL, _T("chinese_china"));
_tprintf_s(GetStr1()); // 这句有输出
_tprintf_s(GetStr2()); // 这句无输出
getchar();
}