parent
7adc0b56b9
commit
9fdc5f327b
@ -21,7 +21,7 @@ const int a=100;
|
||||
+ const常量与`#define`宏定义常量的区别:
|
||||
> ~~<u>**const常量具有类型,编译器可以进行安全检查;#define宏定义没有数据类型,只是简单的字符串替换,不能进行安全检查。**</u>~~感谢两位大佬指出这里问题,见:[issue](https://github.com/Light-City/CPlusPlusThings/issues/5)
|
||||
|
||||
+ const定义的变量只有类型为整数或枚举,且以常量表达式初始化时才能作为常量表达式。
|
||||
+ const常量支持所有类型。
|
||||
+ 其他情况下它只是一个 `const` 限定的变量,不要将与常量混淆。
|
||||
|
||||
+ 防止修改,起保护作用,增加程序健壮性
|
||||
|
@ -75,7 +75,7 @@ void threadFunc2()
|
||||
是否了解volatile的应用场景是区分C/C++程序员和嵌入式开发程序员的有效办法,搞嵌入式的家伙们经常同硬件、中断、RTOS等等打交道,这些都要求用到volatile变量,不懂得volatile将会带来程序设计的灾难。
|
||||
|
||||
## 3.volatile常见问题
|
||||
下面的问题可以看一下面试者是不是直正了解volatile。
|
||||
下面的问题可以看一下面试者是不是真正了解volatile。
|
||||
(1)一个参数既可以是const还可以是volatile吗?为什么?
|
||||
可以。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user