【问题标题】:volatile unsigned * in C++ [duplicate]C ++中的易失性无符号* [重复]
【发布时间】:2013-02-05 03:37:49
【问题描述】:

可能重复:
Unsigned keyword in C++

我目前正在学习如何直接访问内存映射设备(特别是 Raspberry Pi GPIO),在某些 sample code 中我看到以下内容:

// I/O access
volatile unsigned *gpio;

让我感到困惑的是似乎没有定义类型。这是有效的 C++,如果是,上面的代码声明了什么?

谢谢!

PS:我知道 Raspberry Pi StackExchange,但这个问题只与 C++ 语法有关。

【问题讨论】:

  • @shf301 谢谢,那个没有出现在我的搜索中。

标签: c++ pointers volatile


【解决方案1】:

unsigned 单独与unsigned int 相同。

同理:

volatile unsigned int *gpio;

只是更短。

【讨论】:

    【解决方案2】:

    没有基础类型的unsigned 限定符只是unsigned int 的简写。

    volatile 向编译器表明该值可能会以程序未预料到的方式发生变化。换句话说,编译器不应该尝试对值进行任何缓存或优化,因为它不知道它会如何改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-13
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 2023-03-13
      • 2018-08-09
      • 1970-01-01
      相关资源
      最近更新 更多