C++
文章平均质量分 61
phial03
love coding!!! Go、Rust、Java,一名喜欢技术,热爱技术的程序猿!
展开
-
蓝桥杯常考算法与方法集锦
#include <memory.h>或<string.h>void *memset(void *s, int ch, size_t n);#include <algorithm> sort(a,a+n)排序函数,从小到大,a为数组名字,n为元素个数 sort(vector.begin(),vector.end())排序vector 只要数据类...原创 2018-12-08 13:26:49 · 406 阅读 · 1 评论 -
C++深度剖析(下)
第 36 课 经典问题解析三什么时候需要重载赋值操作符? 编译器是否提供默认的赋值操作?编译器为每个类默认重载了赋值操作符 默认的赋值操作符仅完成浅拷贝 当需要进行深拷贝时必须重载赋值操作符 赋值操作符与拷贝构造函数有相同的存在意义例 1 默认赋值操作符重载#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;usin...原创 2018-07-24 08:04:01 · 669 阅读 · 0 评论 -
C++深度剖析(上)
C++深度剖析(上)所有代码均在Ubuntu Linux 16.04 GNU 编译器 gcc 5.6 g++5.6 下编译通过第 1 课 学习 C++的意义UNIX 操作系统诞生之初是直接用汇编语言写成的 随着 UNIX 的发展,汇编语言的开发效率称为一个瓶颈 如何提高 UNIX 的开发效率C 语言是实践的过程中逐步完善起来的 没有深思熟虑的设计过程 残留量过多低级语言...原创 2018-07-23 22:41:30 · 908 阅读 · 0 评论 -
lessons5:引用(&)的本质
c++中新增类型-引用的本质1.引用在c++的内部是实现一个指针常量例如:int &a = c; 等同于 int *const a = &c; 注意: (1)、引用占用空间大小与指针相同。 (2)、引用是变量的一个别名。 (3)、引用的特性: ①功能性:本质是指针 ②安全性:可以避免由于指针操作不当带来的内存错误 ③操作性:简单2.特殊的const引用例如:cons原创 2018-01-20 22:12:38 · 245 阅读 · 0 评论 -
类型转换函数与转换构造函数
1. 隐式类型转换规则编译器的默认隐式类型转换规则: 先看个例子:short s = 'a';unsigned int ui = 1000;int i = -2000;double d = i;//自己先想一下输出结果,会是什么cout "d = " << d << endl;cout "ui + i = " << ui + i << endl;cout "sizeo原创 2018-01-27 21:19:08 · 7111 阅读 · 4 评论 -
lessons_3:const的进化
const常量与宏定义的解析:c语言中的constC语言中的const修饰的变量是只读的,本质还是变量,也就是说可以用指针修改该变量的值,并不是真正意义上的常量,它只是告诉编译器该变量不能出现在赋值号的左边, 修饰局部变量时在栈上分配空间,修饰全局变量在只读存储区分配空间,且该const只在编译时有效,在运行期无效。c++中的const:(1).c++语言中const修饰的原创 2018-01-19 02:03:14 · 201 阅读 · 0 评论 -
lessons_2:c到c++的升级
c到c++升级哪些语法有变化c语言允许重复定义多个同名的全局变量,这些多个同名的变量最终会被链接到全局数据区的同一个地址空间;但是c++不允许定义多个同名的全局变量register关键字请求编译器将局部变量存储于寄存器中,C语言中无法获得register变量的地址,但是c++中可以取得register变量的地址函数定义与默认值 :int fun(), fun(), int fun(vo原创 2018-01-18 23:44:55 · 207 阅读 · 0 评论 -
lessons_27:二阶构造模式
1. 构造函数分析构造函数决定的只是对象的初始化,而不是完整对象产生,所以,初始化操作不能按照预期完成而得到的对象,就会产生一个不完整的对象(即半成品对象),半成品对象是合法的的对象,但是不能使用,也是bug的重要来源。 对于构造函数而言: (1).只提供自动初始化成员变量的机会 (2).不能保证初始化逻辑一定成功 (3).执行return语句后构造函数立即结束2. 避免半成品对象原创 2018-01-25 09:52:03 · 219 阅读 · 0 评论 -
lessons_12:经典问题解析
1. const常量的判别准则(1)只有用字面量初始化的const常量才会进入符号表,是真正意义上的常量,例如:const int a = 2; // a是真正意义上的常量 (2)使用其他变量初始化的const常量任然是只读变量,例如:int x = 1;const int y = x; // y是只读变量(3)被volatitle(volatile告诉编译器所修饰的变量是随时可原创 2018-01-22 16:10:54 · 253 阅读 · 0 评论 -
c++的强制类型转换
c++的强制类型转换1. static_cast强制类型转换:特性:(1):和c风格转换相似,是一种静态类型转换,用于基本类型(int,char, float, double等等)之间的转换 (2):用于基本类型值之间的强制转换,不能用于基本类型指针之间的转换 (3):用于有继承关系对象之间的转换和类指针之间的转换(主要用于上行转换:把派生类的指针或引用 转换成 基类指针或引用,消原创 2018-01-22 12:23:27 · 401 阅读 · 0 评论 -
lessons_7:函数参数的默认值
函数参数的默认值1.默认参数的规则:参数的默认值必须从右向左提供参数默认值函数调用使用时从左向右匹配 什么意思呢?具体看下面://fun1()函数定义int fun1(int x, int y, int z = 0){ return x + y + z;} //函数调用fun1(1 ,2); // x = 1, y = 2, z = 0fun1(1,原创 2018-01-21 10:37:15 · 195 阅读 · 0 评论