C++关键字,预处理命令等知识总结
2017-08-14 10:48
176 查看
在学习的过程中,自己会遇到很多小知识时有一些印象,但却说不出来,原因在于自己没有记牢,因此做个笔记给自己看,很多解释源自网上或者书中。由于很多是自己的项目中遇到的,所以知识点暂时会显得比较无序,后续会慢慢总结补充。
auto类型说明符
auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型,auto让编译器通过初始值来推算变量的类型,显然,auto定义的变量必须有初始值。
auto可以在一条语句中声明多个变量,因为一条声明语句只能有一种基本数据类型,所以该语句中所有变量的初始基本数据类型都必须一样:
当引用作为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作为声明语句中的基本数据类型的一部分出现,含
4000
有typedef的声明语句定义的不再是变量而是类型别名,和以前的声明语句一样,这里的声明符也可以包含类型修饰,从而也能由基本数据类型构造出符合类型来。
typedef定义的类型别名不可简单替换,如
别名声明(alias declaration)
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作为声明语句中的基本数据类型的一部分出现,含
4000
有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的同义词
相关文章推荐
- linux 基础知识总结-----基本命令
- SQL Server知识总结及常用命令
- 重拾C语言重要知识之预处理命令
- 关于c++预处理命令的一点总结
- C语言预处理命令总结大全
- c预处理命令偏门知识
- Redis命令总结及其基础知识讲述
- C语言的预处理命令总结
- C语言的预处理命令总结
- linux小命令小知识的总结(1)
- 有关/etc/passwd,/etc/shadow,/etc/group,以及用户管理与查看用户信息的命令知识总结
- 【C语言】C语言预处理命令总结
- 预处理命令总结
- C语言预处理命令总结
- MATLAB图像处理基础知识学习总结(MATLAB操作命令)
- C++中typedef、const、预处理等相关知识总结
- linux系统基础命令和知识总结
- 常用的预处理命令总结
- linux常用命令,知识在于总结
- 【Linux基础学习之三】Bash的一些基础知识总结(通配符、重定向、管道、命令补全)