C++常见面试题 | Day 3

12、volatile关键字的使用?

使用volatile关键字修饰的变量,可以避免编译器优化;

使用volatile关键字修饰的变量,每次都是重新读取内存中的值,而不是使用保存在寄存器里的值;

编译器优化的做法:

int i = 5;

int a = i;

……

int b = i;

编译器发现两次从i读取数据的代码之间,并没有对i进行过操作,它会自动把上次读的数据放在b中,而不是重新从i里面读取。

 

13、泛型的概念?

泛型编程指在多种数据类型上皆可操作。面向对象编程不同,它并不要求额外的间接层来调用函数,而使用完全一般化可重复使用的算算效率与针对某特定数据类型而设计的算法相同。

泛型编程的实现使用模板实现的,STL(标准模板库)是泛型编程思想的实现。

posted @ 2021-07-01 16:17  Season_Chu  阅读(25)  评论(0)    收藏  举报