C++
文章平均质量分 72
lsff01
码出无限可能
展开
-
四章 札记--C++ primer 之旅
数组的类型 不能是引用。即不存在引用的数组。数组: char s[]="C++"; 等价于 char s2[]={'c','+','+','\0'}; 数组下标的正确类型是 size_t;指针: 理解指针声明语句时,从右往左阅读。 EX :string *pstring原创 2012-07-15 23:48:49 · 376 阅读 · 0 评论 -
初次邂逅句柄类 --C++ primer
句柄类存储和管理基类指针。指针所指对象的类型可以变化,既能指向基类类型对象又可以指向派生类类型对象。用户通过句柄类访问继承层次的操作 (virtual 函数)设计考虑因素: 1)对任何保存指针的类一样,必须确定对复制控制的具体操作。包装了继承层次的句柄应该表现得像一个智能指针或者像一个值 2)句柄类决定句柄接口屏蔽还是不屏蔽继承层次。 如原创 2012-07-23 00:12:27 · 1719 阅读 · 1 评论 -
十六章 札记--C++ primer 之旅
模板定义:1、函数模板: 模板定义以关键字 template 开始,后接尖括号括起的模板形参表。 inline 函数模板, inline 说明符放在模板形参表后面,返回类型之前。 2、定义类模板: 必须以关键字template开头, 后接模板形参类型表。原创 2012-07-25 00:21:00 · 560 阅读 · 0 评论 -
C++ new 和 delete 的重载
发现:类里面有几种成员函数是没有this指针的,也就是访问不了类的成员 构造函数:有; 说明其实对象真正的初始化就是在初始化类表 析构函数:有; 析构函数在最后的时刻才把对象空间释放 普通函数:有 static函数: 没有,但能访问静态成员 重载的 new new[]成员函数: 没有, 因为对象的产生是先有空间在调用构造函数,new就是完成前个步骤的工作 重载的 delet原创 2012-08-30 23:30:30 · 608 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树 --- 先转了 正复习着ds 呢
作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树转载 2012-08-26 15:46:42 · 1906 阅读 · 0 评论 -
再学智能指针
/* * ===================================================================================== * * Filename: smart_pointer.cpp * * Description: 智能指针学习 * * * Version: 1.0 *原创 2012-08-25 23:11:21 · 392 阅读 · 0 评论 -
写模板类的时候,目录突然出现了.gch文件~~~学习学习
转自: http://blog.csdn.net/Lethe1989/article/details/5276918——谨以此文,悼念我等待MinGW编译时逝去的那些时间。其 实刚开始编程的时候,我是丝毫不重视编译速度之类的问题的,原因很简单,因为那时我用BASICA。后来一直用到C++ Builder,尽管Borland的广告无时无刻不在吹嘘其编译速度,我却从没有对这个问题上心过,因转载 2012-09-08 17:41:02 · 802 阅读 · 0 评论 -
kmp 练习下
/* * ===================================================================================== * * Filename: kmp.cpp * * Description: * * Version: 1.0 * Created: 10/14/原创 2012-10-16 08:14:00 · 2201 阅读 · 0 评论 -
aba 回文练习 -- 参考罗大神的
#include #include #include #include using namespace std;#define maxn 1024#define parr(arr,n) printf(#arr":");for(int kk=0;kkint bufa[maxn],bufb[maxn],bufs[maxn],bufv[maxn];int sa[m原创 2012-10-16 08:15:30 · 6642 阅读 · 0 评论 -
k_over 重叠字符串
#include #include #include #include using namespace std;#define maxn 1024#define maxm 1024int bufa[maxn],bufb[maxn],bufs[maxm],bufv[maxn];int sa[maxn],height[maxn],rank[maxn];原创 2012-10-16 08:16:28 · 1125 阅读 · 0 评论 -
十五章 札记--C++ primer 之旅
C++动态绑定的实现 在C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这是动态绑定的关键。 用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指针)所指向对象的实际类型所定义的。虚函数: 除了构造函数外,任意非static 成员函数都可以是虚函数。保留字virtu原创 2012-07-23 00:08:10 · 557 阅读 · 0 评论 -
十三章 札记--C++ primer 之旅
复制构造函数: 定义: 一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。 调用: 当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数。当将该类型的对象传递给函数或从函数返回该类型的对象是,将隐式使用复制构造函数。析构函数: 定义: 析构函数可用于释放对象在构造或在对象的生命期中所获得原创 2012-07-20 00:35:15 · 516 阅读 · 0 评论 -
十四章 札记--C++ primer 之旅
重载运算符:具有特殊名称的函数,operator + 操作符符号 ,具有返回类型和形参表。注意: 重载操作符必须具有至少一个类类型或枚举类型的操作数。大多数重载操作符可以定义为普通非成员函数或类的成员函数。作为类成员的重载函数,形参比操作数数目少1,隐含的this 形参,限定为第一个操作数。规则:一般将算术和关系操作符定义为非成员函数,而将赋值操作符定义为成员操作符重载和友元关系: 操作符原创 2012-07-21 01:12:33 · 535 阅读 · 0 评论 -
二章 札记 --C++ primer 之旅
实习告一段落,翻开C++primer 准备苦逼的重温C++ 。以下是一些 从书上抄下来的笔记。测试: -10u 是什么类型?-10u 类型是unsigned int 使用 typeid(-10u).name() 测试的变量的初始化:1、复制初始化: int ival=1024;2、直接初始化: int ival(1024);直接初始化语法更灵活且效率更高。原创 2012-07-14 23:28:04 · 731 阅读 · 0 评论 -
五六章 札记--C++ primer 之旅
赋值表达式的值是左操作数的值,其结果的类型为左操作数的类型。赋值操作具有右结合性 。 EX: int ival,jval; ival=jval=0;建议: 只有在必要是才使用后置操作符。++; -- 前置操作不用保存原来操作数的未修改值,操作更少。*iter++ 等价于 *(iter++) : 后自增操作的优先级高于解引用操作原创 2012-07-16 00:09:55 · 411 阅读 · 0 评论 -
C++ 操作符优先级表 mark一下,方便查阅哈
优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;转载 2012-07-15 16:16:42 · 508 阅读 · 0 评论 -
七章 札记--C++ primer 之旅
const 形参: 如果将函数形参定义为非引用的const类型,EX: void fcn(const int i) {}; 则不能修改实参的局部副本。 注意: void fcn(const int i) {}; 和 void fcn(int i) {}; 编译的结果是一样的。规则: 如果使用引用实参的唯一目的是避免复制实参,则应该将实参定义为const 引用原创 2012-07-17 00:57:40 · 667 阅读 · 0 评论 -
八章 札记--C++ primer 之旅
IO 对象 不可复制或赋值形参或返回类型不能是流类型,可以通过传递或返回指向该对象的指针或引用 来传递和返回IO 对象。所有流对象都包含一个条件状态成员,类型为iostate 类型流的状态由 bad , fail ,eof 和 good 操作解释,如果 bad,fail 或者 eof 任意一个为 true ,则检查流本身将显示该流处于错误状态。反之,如果三个原创 2012-07-17 01:02:34 · 483 阅读 · 0 评论 -
十章 札记--C++ primer 之旅
两个基本的关联容器: map: 关联数组, 元素通过键来存储和读取 set: 集合, multimap: 同一个键可多次出现的map multiset: 同一个键可多次出现的setpair类型 : 头文件 utility map 类型: 头文件 m原创 2012-07-18 01:07:44 · 421 阅读 · 0 评论 -
九章 札记--C++ primer 之旅
进入容器的学习了。顺序容器:vector 快速随机访问 list 快速插入/删除deque 双端队列顺序容器适配器:(适配器是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型) stack queue原创 2012-07-18 01:02:16 · 416 阅读 · 0 评论 -
十一章 札记--C++ primer 之旅
find 运算: 形参:两个迭代器,检查两个迭代器实参标记范围内的每一个元素。找到与给定值的元素,返回指向该元素的迭代器;如果没匹配元素,这返回第二个形参。注意: 泛型算法从不执行容器操作,单独依赖迭代器和迭代器操作实现,算法基于迭代器及其操作实现,而并非基于容器操作。泛型算法 头文件 泛化的算术算法 头文件只读算法:原创 2012-07-19 02:27:12 · 1223 阅读 · 0 评论 -
十二章 札记--C++ primer 之旅
类成员: 可以使数据、 函数 或者 类型别名 typedef 定义的所有成员必须在类的内部声明。构造函数: 一般使用一个构造函数初始化列表 来初始化对象的数据成员。 EX: Sales_item() : units_sold(0), revenue(0.0) {} 构造函数初始化式只在构造原创 2012-07-19 02:39:31 · 455 阅读 · 0 评论 -
m_sort 归并排序(迭代)
#include #include #include using namespace std;typedef int element;void merge(element *list,element *sorted,int i,int m,int n){int j=m+1,k=i;while(iif(list[i] sorted[k++]=l原创 2012-10-16 08:17:04 · 1631 阅读 · 0 评论