C++关键字,预处理命令等知识总结
来源:互联网 发布:国有企业工资制度 知乎 编辑:程序博客网 时间:2024/06/14 12:35
在学习的过程中,自己会遇到很多小知识时有一些印象,但却说不出来,原因在于自己没有记牢,因此做个笔记给自己看,很多解释源自网上或者书中。由于很多是自己的项目中遇到的,所以知识点暂时会显得比较无序,后续会慢慢总结补充。
auto类型说明符
- auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型,auto让编译器通过初始值来推算变量的类型,显然,auto定义的变量必须有初始值。
- auto可以在一条语句中声明多个变量,因为一条声明语句只能有一种基本数据类型,所以该语句中所有变量的初始基本数据类型都必须一样:
auto i = 0, *p = &i; //正确auto sz = 0, pi = 3.14;//错误
- 当引用作为auto的初始值时,其实使用的是引用的对象,特别是当引用被用作初始值时,真正参与初始化的其实是引用对象的值。
- auto一般会忽略掉顶层const,同时低层const则会保留下来,我的理解是顶层const一般描述的是自身,底层const描述的是其它。
override
- override保留字表示当前函数重写了基类的虚函数
- 在函数比较多的情况下,override可以提醒读者某个函数重写了基类虚函数,表示该函数是从基类继承,不是派生类自己定义
- 强制编译器检车某个函数是否重写基类虚函数,如果没有则报错。
- override是C++保留字,不是关键字,这表明在正确的位置使用时(类的成员函数函数列表后面),override才启到“关键字”作用,其他地方可以作为标示符(如int override是合法的)
- 此段是摘录自博客http://www.cnblogs.com/kyxyes/p/3995937.html,感谢博主解惑
#pragma once
- 编译器的预编译命令
- 在头文件的最开始加上该指令能保证头文件只被编译一次,因为同一头文件会在许多源文件中多次引用。如果没有指定编译一次,则编译时出现重定义错误。
typedef(关键字)
- 关键字typedef作为声明语句中的基本数据类型的一部分出现,含有typedef的声明语句定义的不再是变量而是类型别名,和以前的声明语句一样,这里的声明符也可以包含类型修饰,从而也能由基本数据类型构造出符合类型来。
- typedef定义的类型别名不可简单替换,如
typedef char *pstring; //pstring 是char*的别名const pstring cstr = 0; //cstr 是指向字符型的常量指针const pstring *ps; //ps是一个指针,它的对象是指向char 的常量指针
pstring是指向char的指针,因此const pstring是指向char的常量指针,而非指向常量字符的指针,不可简单替换来理解。 - 别名声明(alias declaration)
using SI = Sales_item; //SI是Sales_item的同义词
阅读全文
0 0
- C++关键字,预处理命令等知识总结
- c预处理命令偏门知识
- C语言预处理命令总结
- C语言预处理命令总结
- C++中typedef、const、预处理等相关知识总结
- C语言的预处理命令总结
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言预处理命令总结大全
- C语言总结——关键字和预处理
- 预处理命令总结
- 预处理命令总结!
- 预处理命令总结
- 预处理命令总结
- 数组中只出现一次的数字
- 牛客网Javascript专项练习错题汇总
- unity 计算时间的差值 时间戳
- 从源码角度剖析Handler机制
- 数据库——MongoDB——>Java篇
- C++关键字,预处理命令等知识总结
- JAVA学习笔记之(一)HelloWorld
- C++多态的实现
- OpenSSL中文手册之命令行
- 共享宿舍
- 5.7树和二叉树的转换及树的存储结构
- hdu-2604-Queuing(矩阵快速幂)
- Log4j的简单教程
- 15. 使用KNN实现DBRHD数据集的手写识别