摘要: 1.C++中的空类默认产生以下四个函数: 默认构造函数:A() 拷贝构造函数:A(const A&) 赋值函数:A&operator = (const A&) 析构函数 struct也可以有构造函数、析构函数、继承等,与class的唯一区别是默认的访问控制权限 2.默认构造函数 如果没有显示定义构造 阅读全文
posted @ 2015-07-09 21:57 Rosanne 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 指针与引用的差别:1.非空区别。在任何情况下,都不能使用指向空值的引用。2.合法性区别。在使用引用之前不需要测试它的合法性,指针则应该总是被测试,防止其为空。3.可修改区别。指针可以被重新赋值以指向另一个不同的对象,而引用则只能指向初始化时被指定的对象。4.可计算区别。指针可以进行加减运算,引用则不... 阅读全文
posted @ 2015-07-09 21:35 Rosanne 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字节边界上,即起始地址能够被4整除。变量的对齐规则如下(32位系统):char在字节边界上对齐short (16-bit)在双字节边界上对齐int and lo... 阅读全文
posted @ 2015-07-09 18:41 Rosanne 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 一.const的用途1.定义const常量2.可以修饰函数的形参,返回值,以及函数体。被const修饰的内容可以受到强制保护,防止被意外修改,提高程序健壮性。const 返回值 函数返回值为 const 只有用在函数返回为引用的情况。 函数返回值引用常量表示不能将函数调用表达式作为左值使用。例... 阅读全文
posted @ 2015-07-09 18:33 Rosanne 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 内联函数与宏的区别:内联函数与普通函数相比,可以加快程序的运行速度,因为不需要中断调用,在编译的时候内联函数可以直接镶嵌到目标代码中。而宏只是简单的字符替换。内联函数要做参数类型检查,这是内联函数跟宏相比的优势。inline一般只用于如下情况: (1)一个函数不断被重复调用 (2)函数只有简单的... 阅读全文
posted @ 2015-07-09 18:00 Rosanne 阅读(2163) 评论(0) 推荐(0) 编辑
摘要: 一.利用stringstream类1. 字符串到整数 stringstream sstr(str); int x; sstr >> x;(即从sstr中提取数据)2. 整数到字符串 stringstream sstr; int x; sstr 阅读全文
posted @ 2015-07-09 17:34 Rosanne 阅读(68125) 评论(0) 推荐(1) 编辑
摘要: 两者的效率比较:当比较次数较少时,效率一样;当比较次数较多时,发现ifelse的速度更快,应该是其汇编指令更少的原因。if else的汇编代码如下:三目运算符代码如下: 阅读全文
posted @ 2015-07-09 17:19 Rosanne 阅读(3661) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点的方向。如下图所示:二叉树的结点定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode* m_pLeft;... 阅读全文
posted @ 2015-07-09 16:20 Rosanne 阅读(247) 评论(0) 推荐(0) 编辑