摘要:
最近经常看到头文件中有 这样的语句,一直搞不清楚是什么意思,今天终于闹明白了。 1.这种写法的由来 C++比C晚出现,C++代码如果能够调用C语言的代码,那么会更好的利用现有的成果,但是事实上C++代码是无法直接调用C代码的,这是因为C++编译器在编译.cpp文件时生成的函数名与C编译器在编译.c文 阅读全文
摘要:
一.使用控制符控制输出格式 输出结果: input a:34↙(输入a的值)dec:34 (十进制形式)hex:22 (十六进制形式)oct:42 (八进制形式) China (域宽为)*****China (域宽为,空白处以'*'填充)pi=3.14285714e+00 (指数形式输出,8位小数) 阅读全文
摘要:
一.static_cast static_cast 只能用于良性转换,这样的转换风险较低,一般不会发生什么意外,如: 二.const_cast const_cast用来去掉表达式的 const 修饰或 volatile 修饰。换句话说,const_cast 就是用来将 const/volatile 阅读全文
摘要:
当以拷贝的方式初始化一个对象时,会调用一个特殊的构造函数,就是拷贝构造函数(Copy Constructor)。 例如: 其中将 Student stu2 = stu1; Student stu3(stu1) 时,就调用了拷贝构造函数。 阅读全文
摘要:
一.转换构造函数 将其它类型转换为当前类类型需要借助转换构造函数(Conversion constructor)。转换构造函数也是一种构造函数,它遵循构造函数的一般规则。转换构造函数只有一个参数。 运行结果: 10 + 20i25.5 + 0i 二.类型转换函数 运行结果: f = 24.6f = 阅读全文
摘要:
当定义一个类时,我们显式地或隐式地指定了此类型的对象在拷贝、赋值和销毁时做什么。一个类通过定义三种特殊的成员函数来控制这些操作,分别是拷贝构造函数、赋值运算符和析构函数。 拷贝构造函数定义了当用同类型的另一个对象初始化新对象时做什么,赋值运算符定义了将一个对象赋予同类型的另一个对象时做什么,析构函数 阅读全文
摘要:
一.浅拷贝 对于基本类型的数据以及简单的对象,它们之间的拷贝非常简单,就是按位复制内存。例如: b 和 obj2 都是以拷贝的方式初始化的,具体来说,就是将 a 和 obj1 所在内存中的数据按照二进制位(Bit)复制到 b 和 obj2 所在的内存,这种默认的拷贝行为就是浅拷贝,这和调用 memc 阅读全文
摘要:
C++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来捕获所有的标准异常: 之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(要调用拷贝构造函数)的过程。exception 类位于 <exc 阅读全文