相关疑难解决方法(0)

返回指向静态局部变量的指针是否安全?

我正在使用一些代码,这些代码广泛使用返回指向静态局部变量的指针的习惯用法.例如:

char* const GetString()
{
  static char sTest[5];
  strcpy(sTest, "Test");
  return sTest;
}
Run Code Online (Sandbox Code Playgroud)

我认为这是安全的吗?

PS,我知道这是做同样事情的更好方法:

char* const GetString()
{
  return "Test";
}
Run Code Online (Sandbox Code Playgroud)

编辑: 道歉,功能签名当然应该是:

const char* GetString();
Run Code Online (Sandbox Code Playgroud)

c static

41
推荐指数
4
解决办法
3万
查看次数

标签 统计

c ×1

static ×1