const关键字的使用

1、const关键字用于修饰变量,表示变量的值不可以被改变,只能被读取。它可以修饰全局变量、局部变量、类的成员变量等,如:

int const a = 10;

2、const关键字可以修饰函数的参数,表示函数的参数不可以被修改,如:

void func(int const a)

3、const关键字可以修饰函数的返回值,表示函数的返回值不可以被修改,如:

int const func()

volatile关键字的使用

1、volatile关键字用于修饰变量,表示变量的值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

int volatile a;

2、volatile关键字可以修饰函数的参数,表示函数的参数可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

void func(int volatile a)

3、volatile关键字可以修饰函数的返回值,表示函数的返回值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

int volatile func()

const和volatile的区别

1、const关键字用于修饰变量,表示变量的值不可以被改变,只能被读取;而volatile关键字用于修饰变量,表示变量的值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取。

2、const关键字可以修饰函数的参数和返回值,表示函数的参数或返回值不可以被修改;而volatile关键字可以修饰函数的参数和返回值,表示函数的参数或返回值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取。

3、const关键字可以用于修饰指针,表示指针指向的内容不可以被修改,但是指针本身可以被修改;而volatile关键字不能用于修饰指针,因为它只能用于修饰变量。