[TOC]# 一、数字类型及操作- 整数类型的无限范围及4种进制表示- 浮点数类型的近似无限范围、小尾数及科学计数法- +、-、\*、/、//、%、\*\*、二元增强赋值操作符- abs()、divmod()、pow()、round()、max()、min()- int()、float()、comp... ...
分类:
其他好文 时间:
2019-07-14 19:45:52
阅读次数:
130
在介绍C++浅拷贝与深拷贝之前,我们先引出C++的拷贝构造函数。 C++拷贝构造函数是一种特殊的构造函数,其形参是本类对象的引用。用于在建立一个新的对象时,使用一个已经存在的对象来初始化这个新对象。因为拷贝构造函数时特殊的构造函数,所以其没有返回值类型,且名称与类名相同;该函数只有一个参数,即此类对 ...
分类:
编程语言 时间:
2019-07-05 00:04:43
阅读次数:
121
js变量的数据类型值分基本类型值和引用类型值。 在ES6(ECMAScript6)以前,基本数据类型包括String、Number、Boolean、Undefined、Null。 基本类型值的复制(拷贝) 从一个变量向另一个变量复制基本类型的值。使用赋值操作符 ' = ' 即可。 如: 上述代码定义 ...
分类:
编程语言 时间:
2019-06-30 00:17:18
阅读次数:
159
#include using namespace std; class ArrayIndexOutOfBoundsException{ // 异常类 public: int index; ArrayIndexOutOfBoundsException(int k){ index = k; } }; c... ...
分类:
编程语言 时间:
2019-06-25 00:14:43
阅读次数:
172
算数操作符 + : 加 - : 减 * : 乘 / : 除 %:取余 1、递增 ++a与a++都是对a进行递增的操作 区别 ++a先返回递增之后的a的值 a++先返回a的原值,再返回递增之后的值 2、递减同理 赋值操作符 简单赋值:= 复合赋值:+=、-=、*=、/=、%= 复合运算可以简化我们的操 ...
分类:
编程语言 时间:
2019-06-21 22:38:36
阅读次数:
153
浅拷贝和深拷贝 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误 ...
分类:
编程语言 时间:
2019-06-19 10:05:49
阅读次数:
123
执行结果如下: 并没有进行对象拷贝操作,与预期不符,Why? 其原因是:RVO(return value optimization),被G++进行值返回的优化了,具体的RVO的相关技术,可以进行百度。 我们可以将RVO优化关闭,可以对g++增加选项-fno-elide-constructors,重新 ...
分类:
编程语言 时间:
2019-06-13 20:50:18
阅读次数:
137
运行结果: 构造函数,申请了100个char元素的动态空间拷贝构造函数,保证name指向的是自己单独的内存块构造函数,申请了100个char元素的动态空间lill, age 666赋值函数,保证name指向的是自己单独的内存块John, age 56John, age 56析构函数,释放了100个c ...
分类:
编程语言 时间:
2019-06-10 15:35:38
阅读次数:
107
C++11:移动构造函数的测试 代码如下: 程序运行结果如下: 结论:可见移动构造函数是拷贝构造函数的1-3倍。 参考链接: VS 2010, Move constructor only reached after move() and slower than copy constructor? ...
分类:
移动开发 时间:
2019-06-03 14:27:46
阅读次数:
109
1.pass-by-value的情况: 缺省情况C++以pass-by-value(继承C的方式)传递对象至(或来自)函数。函数参数都是以实际参数的复件为初值,调用端所获得的也是函数返回值的一个复件,复件由对象的拷贝构造函数产出,可能使pass-by-value成为耗时的操作。 2.耗时的原因 类的 ...
分类:
其他好文 时间:
2019-05-31 10:26:50
阅读次数:
112