gpt4 book ai didi

C++ 返回在函数范围内声明的引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:58 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Can a local variable's memory be accessed outside its scope?

我在做一些代码审查时看到了一个函数。

wchar_t* GetString(HINSTANCE hInstance, UINT SID)
{
wchar_t buf[2048] = {0};
LoadStringW(hInstance, SID, buf, sizeof(buf)/sizeof(wchar_t));
return &buf[0];
}

void SomeWork()
{
std::wstring str( GetString(hInst, 123) );
}

我认为 buf 应该在函数返回后立即销毁,所以指针 &buf[0] 可能无效。但它似乎工作正常,它是如何工作的?这是一个很好的设计吗?谢谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com