什么是register关键字在C语言吗?我已经读过它用于优化,但在任何标准中都没有明确定义.它是否仍然相关,如果是,你什么时候使用它?
我正在使用一些代码,这些代码广泛使用返回指向静态局部变量的指针的习惯用法.例如:
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中,我们不能使用&来查找寄存器变量的地址,但在C++中我们也可以这样做.为什么它在C++中合法而在C中不合法?有人可以深入解释这个概念.