
C++学习记录
文章平均质量分 85
haibing_x
这个作者很懒,什么都没留下…
展开
-
【C++学习记录2】C到C++的升级
C++继承了所有的C特性; C++在C的基础上提供了更多的语法和特性; C++的设计目标是运行效率和开发效率(比C语言还高)的统一。 (C++中++的体现)C++是C语言的进化和升级。最重要的是两个方面,其一是类型的加强(类型检查更严格),其二是天生面向对象的支持(内置天生支持面向对象软件开发方法学)。 C++语言更强调语言的实用性: 所有的变量都可以在需要使用时定义(C语言规定,变量必...原创 2018-11-26 12:50:28 · 132 阅读 · 0 评论 -
【C++学习记录1】学习C++的意义
UINX诞生之初使用汇编语言编写的。随着UINX的发展,汇编语言成为了其发展的掣肘。如何提高UINX的开发效率呢? 在1971年,K&D来发出C语言,由解释型语言(B语言)变成编译型语言。 C语言天生就是为了开发操作系统而存在的,其目标是高效,最终程序执行效率高。但是起初是用来编写Uinx系统,是在实践过程中逐渐完善起来的,使其没有深思熟虑的设计过程,其次是残留过多低级语言的特征。 ...原创 2018-11-26 12:43:37 · 444 阅读 · 2 评论 -
【C++学习记录3】const从C到C++分析
C语言中的const: 1)const修饰的变量是只读的,本质还是变量。 2)const修饰的局部变量在栈上分配空间。 3)const修饰的全局变量在只读存储区分配空间。(修改会导致程序崩溃) 4)const只在编译期有用,在运行期无用。 const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边。 C语言中的const使得变量具有只读属性。 const将具有全...原创 2018-11-26 13:09:54 · 199 阅读 · 1 评论 -
【C++学习记录4】布尔类型和引用
在C语言中,其没有具体的布尔类型,选择用int代替,0表示假,1表示真。这样子显得不是特别严谨。 C++中的bool类型(bool是对C语言的类型的补充) 1)C++在C语言的基本类型基础上增加了bool; 2)C++中的bool可取的值只有true和false; 3)理论上bool只占用一个字节。 注意: true代表真值,编译器内部用1来表示; fal...原创 2018-12-25 20:02:12 · 170 阅读 · 0 评论 -
【C++学习记录5】引用的本质分析
1)引用是另一个变量的别名,也就是已经存在的一段存储空间的别名; 2)引用作为变量别名而存在,因此在一些场合可以代替指针; 3)引用相对于指针来说具有更好的可读性和实用性。 注意:函数中的引用形参不需要进行初始化,调用的时候初始化。 swap函数的实现对比: const引用(对常量的引用) 1)在c++中可以声明const引用; 2)const Type & na...原创 2018-12-25 20:10:05 · 153 阅读 · 0 评论 -
【C++学习记录6】内联函数分析
C++中const常量可以代替宏常数定义;使用内联函数替代宏代码片段。 C++中标推荐使用内联函数代替宏代码片段。 C++中使用inline关键字声明内联函数。 内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。 函数调用时,会有参数入栈、函数返回、栈变量的销毁等等的开销,而宏代码块则没有。(内联函数取两者的优点) 内联函数的表现形式和普通函数是...原创 2018-12-25 20:13:24 · 398 阅读 · 0 评论 -
【C++学习记录7】函数参数的扩展
函数参数的默认值 C++中可以在函数声明时为参数提供一个默认值。当函数调用时没有提供参数的值,则使用默认值。 示例如下: 参数的默认值必须在函数声明中指定。 问题: 1)函数定义中是否可以出现参数的默认值? 2)当函数声明和定义中的参数默认值不同是会发生什么? 程序示例:(在C语言中编译报错,说明函数参数默认值是C++的扩展) 当程序改为如下两种时,编译报错,错误提示如下:...原创 2018-12-25 20:20:08 · 174 阅读 · 0 评论