相关疑难解决方法(0)

const volatile,在C++中注册volatile,static volatile

我想知道volatile关键字与register,conststatic关键字的不同用途.我不确定有什么影响,所以我想:

register volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

建议编译器将T存储在寄存器中,并且可以从外部某处修改T的值(OS,硬件,另一个线程)

const volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

程序本身不能修改T,但T可以在代码之外的某处修改.

static volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

如果T是类的数据成员,则意味着类的所有对象具有相同的T值,并且可以从外部的某处修改T.如果T是文件中的全局变量,则其他文件(属于项目的一部分)中的源代码无法访问T,但可以从外部的某个位置访问T. 如果T是函数中的局部变量,一旦它被初始化,它将保留在内存中直到程序结束,并且可以从外部的某个地方进行修改.

我的想法是否正确,任何有经验的C++开发人员都可以提供一个示例,其中上述内容可能在实际应用程序中使用,或者它是非常罕见的?

c++ static const volatile

28
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

const ×1

static ×1

volatile ×1