c++
upc2whu
这个作者很懒,什么都没留下…
展开
-
C++ auto新特性
C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。1. 自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推断,可以大大简化我们的编程工作。下面是一些使用auto的例子。转载 2014-08-25 13:30:21 · 517 阅读 · 0 评论 -
红黑树的实现与遍历
template class RBTNode{ private: T data; char color; RBTNode *lchild; RBTNode *rchild; RBTNode *parent; private: RBTNode() : lchild(0), rchild(0), parent(0), color('R') {} RBTNode(co原创 2014-08-24 20:52:41 · 2957 阅读 · 0 评论 -
gcc 的内存对齐
CPU以字节为单位编址,而C语言指针以指向的数据类型长度作自增和自减。gcc下的double的alignment-requirement在用编译选项-malign-double的时候,double的alignment-requirement是双字(32位机器上就是8),用-mno-align-double的时候,double的alignment-requirement是单字。在我的转载 2014-08-29 14:41:23 · 1348 阅读 · 0 评论 -
数组查找
1. 二分法在数组中查找元素:原创 2014-08-31 19:42:43 · 548 阅读 · 0 评论 -
平衡二叉树的C++模板实现
本文内容为前天写的AVL树模板的C++代码实现。本想把原创 2014-08-25 10:40:06 · 1349 阅读 · 0 评论 -
C++命名空间namespace
原帖地址:http://blog.csdn.net/touzani/article/details/1637776命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好转载 2014-09-02 17:21:12 · 380 阅读 · 0 评论 -
C++中的头文件和源文件
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对转载 2014-09-02 17:02:14 · 420 阅读 · 0 评论 -
C++ static关键字
原帖地址:http://blog.csdn.net/tiger_ibm/article/details/7548954在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a转载 2014-09-02 19:41:40 · 341 阅读 · 0 评论 -
C++流与标准IO库
1. 流C++中原创 2014-09-01 12:49:10 · 589 阅读 · 0 评论 -
Overload, Override and Overwrite
Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相转载 2014-08-25 13:28:05 · 461 阅读 · 0 评论 -
C/C++中的extern关键字详解
原帖地址:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C转载 2014-08-26 22:00:32 · 438 阅读 · 0 评论 -
C++浅拷贝与深拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include using namespace std; class CExample {private: int a;public: CExample转载 2014-08-26 20:00:51 · 454 阅读 · 0 评论 -
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
yuantiediz栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 d转载 2014-09-05 19:57:38 · 438 阅读 · 0 评论