1、基础 | C++ 关键字

C关键词的描述

关键字 特征 应用
const 编译时分配,只读 修饰常量,指针
static 编译时分配空间,静态全局变量 修饰变量,函数
volatile 编译时不优化:从内存中取值,不是寄存器中 多线程访问一个全局变量时
sizeof 编译时:计算 计算类型占用的空间大小
strlen 运行时:计算 计算字符串的长度,不是类型占内存的大小
assert 运行时:断言--是,不是函数; 如果条件错误,则终止程序执行;
extern 编译时:扩展声明 声明全局变量/函数;
Union 共享内存空间,任意时刻只有一个数据成员可以有值 计算内存字节的空间时,以最大值为准
typedef 运行时:类型重定义..可以重定义类型 定义函数指针
#define 预编译时:宏定义 定义频繁使用的短小函数,在预编译的时候直接替换
  1. const 与 #define相比?
    • const 常量有数据类型,而宏常量没有数据类型
    • 编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误
    • 集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。
  2. inline和#define对比
    • inline代码放入预编译器符号表中,高效;它是个真正的函数,调用时有严格的参数检测

const : 只读

  • 被const修饰的就只能读:整形数,指针;
  • const修饰的变量为只读变量,定义一个const类型的变量时必须完成初始化
Const int a; 		// a是一个常量整形,值不能修改
int const a;		 // 同上
const int *a; 		// a是一个**指向常整型数的指针**;整型数是不可修改的,但指针可以
int	const *a;		//同上
int * const a; 		// a **指向整型数的常指针**;指针指向的整型数是可以修改的,但指针是不可修改
const int * const a; 
int const * const a  	//a是一个**指向常整型数的常指针**;指针指向的整型数是不可修改的,同时指针也是不可修改的
  1. const的作用?
    • 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。
    • 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
    • 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C/C++面试必考必会 文章被收录于专栏

【C/C++面试必考必会】专栏,直击面试核心,精选C/C++及相关技术栈中面试官最爱的必考点!从基础语法到高级特性,从内存管理到多线程编程,再到算法与数据结构深度剖析,一网打尽。助你快速构建知识体系,轻松应对技术挑战。希望专栏能让你在面试中脱颖而出,成为技术岗的抢手人才。

全部评论

相关推荐

10-12 21:41
重庆大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务