02 2018 档案
摘要:摘自:http://www.duote.com/tech/5/14691.html 根据国际标准IEEE 754,任意一个二进制浮点数V可以表示成下面的形式: V = (-1)^s×M×2^E (1)(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。 (2)M表示有效数字,大于等于1,
阅读全文
摘要:c++定义了一元运算符(&,*)、二元运算符(==,+)、三元运算符、函数调用也是一种特殊的运算符(运算对象的数量没有限制)。有的运算符既可以作为一元运算符也可以作为二元运算符,如*,具体情况由上下文决定。对于含有多个运算符的复杂表达式来说,想要理解它的含义首先要理解运算符的优先级、结合律、和运算对
阅读全文
摘要:本文转自:http://blog.csdn.net/xunfeng13/article/details/51011509 机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20070626 Size of char is: 1
阅读全文
摘要:做题的时候发现一个题目求类的sizeof()大小,复制了网友的解答: #pragma pack(2) class BU { int number; // 4 union UBffer { char buffer[13]; // 13 int number; // 4 }ubuf; // union的
阅读全文
摘要:面向对象程序设计的核心思想是数据抽象(封装)、继承、动态绑定(多态)。通过数据抽象,我们将类的接口(函数)与实现(数据成员)分离;使用继承,可以定义相似的类型并对相似关系建模;使用动态绑定,一定程度上忽略相似类型的区别,以同一的方式使用它们的对象。 派生类继承基类,基类定义所有类共有的成员,而每个派
阅读全文
摘要:1、拷贝构造函数 如果一个构造函数的第一个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数是拷贝构造函数。 C(const C &);//参数通常是const的引用 拷贝构造函数在下列情况下发生: 拷贝初始化时使用(=定义变量)。 将一个对象作为实参传递给一个非引用类型的形参。 从一
阅读全文
摘要:如果两种类型可以相互转换,它们就是关联的。c++语言不会直接将两种不同类型的值相加,而是先根据类型转换规则及那个运算对象的类型统一后再求值。 1、隐式转换 隐式转换的类型转换是自动执行的,无须程序员介入。在下面的情况下,编译器会执行隐式转换: 大多数表达式中,比int类型小的整型值首先提升为较大的整
阅读全文
摘要:目前为止我们学过静态内存和栈内存,分配在其中的对象由编译器自动创建和销毁, 静态内存:用来保存局部static对象、类的static数据成员、以及定义在任何函数体之外的变量。在对象使用之前分配,程序结束时销毁。 栈内存:用来保存定义在函数内的非static对象。仅在对象定义的程序块运行时存在,程序块
阅读全文
摘要:1、构造函数 构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。 构造函数名与类名相同 没有返回类型 可以重载 不能声明成const 1.1、合成的默认构造函数 如果我们没有为类显式的定义构造函数,编译器会为我们隐式的定义一个默认构造函数(不需要任何参数)又叫做合
阅读全文
摘要:1、声明和定义的关系 声明使得名字为程序所知,一个文件如果想使用别处定义的名字必须包含对那个名字的声明。变量声明规定了了变量的类型和名字,定义除了这一点相同外,还为变量申请存储空间,也可能为变量赋初始值。如果想声明一个变量而非定义它,就在变量名前面添加关键字extern,而且不要显示初始化变量: e
阅读全文
摘要:定义一个类 struct Sales_data{ std::string isbn()const ; Sales_data& combine(const Sales_data&); std::string bookNo; unsigned units_sold=0; double revenue=0
阅读全文
摘要:分离式编译允许将程序分割到多个文件中去,每个文件独立编译。如果修改了其中一个源文件,那么只需要单独编译此源文件,但如果修改了头文件,所有文件都要重新编译。例如,将函数的声明放在头文件中,函数的定义放在一个源文件中,另一个源文件用到这个函数时,只需要包含函数声明的头文件而不需要包含函数定义的源文件。
阅读全文
摘要:预处理器是运行于编译之前的一段程序,如#include预处理功能,当预处理器看到#include时,就会用指定的头文件内容替换#include。预处理器的一个作用就是可以保证头文件被多次包含仍能正常工作: 头文件class_a.h内容如下: #ifndef CLASS_A_H #define CLA
阅读全文
摘要:1、函数组成 一个函数的定义由4部分组成:返回值类型、函数名、0个或多个形参组成的参数列表、函数体。 1.1、函数调用和返回 函数的调用完成2项工作:一是用实参初始化函数形参,二是将控制权交给被调函数; 函数的return语句也完成2项工作:一是返回return语句的值,二是将控制权还给主调函数。
阅读全文
摘要:C++中多维数组是指数组的数组: int ia[3][4][5];//a是一个大小为3的数组,它的每个元素是大小为4的数组,这些数组的元素又是都含有5个整数的数组。 对一个二维数组a[3][4]的引用: 1.用范围for语句 for (int (&p)[4] : a){//p是引用,引用一个含有4个
阅读全文
摘要:一、C风格字符串 C风格字符串将字符串放在字符数组中,并以空字符'\0'结束,一般利用指针来操作这些字符串。尽管C++支持C风格字符串,但在C++程序中最好不要使用它们。一些用于操作C风格字符串的标准库函数定义在cstring头文件中,是C语言头文件string.h的C++版本: strlen(p)
阅读全文