会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
︶ㄣ第二名
知行合一
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
10
11
···
15
下一页
2010年5月5日
编程珠玑第一章、第二章
摘要: 利用位图排序 问题:一个最多包含n个正整数的文件,每个数都小于n,n = 1000 0000。文件中的正整数没有重复的,请按升序排列这些整数。可用内存空间只有1MB左右,运行时间在10秒左右。 解决方法:使用一个具有1000万个位的为序列表示这个文件中的所有整数。当且仅当整数 i 在文件中时,第 i 位为1。用C++具体实现的话,可用使用位域bitset来实现。bitset<100000...
阅读全文
posted @ 2010-05-05 17:15 ︶ㄣ第二名
阅读(544)
评论(0)
推荐(0)
编辑
2010年4月28日
独立对象(非附属对象)大小
摘要: 输出结果:1 8。解释: 一个空类的大小之所以是1,因为C++规定非附属对象的大小不能为0,所以一般编译器都以一个char来填充。第二个HoldAnInt的大小之所以为8,因为类的成员自然对齐所至,一个HoldAnInt对象的末尾,有3个填充字节(32位机器,4字节对齐的话)。HoldAnInt的内存布局为:4(int)1(Empty)3(填充字节)。
阅读全文
posted @ 2010-04-28 22:08 ︶ㄣ第二名
阅读(261)
评论(0)
推荐(0)
编辑
二叉搜索树
摘要: 二叉搜索树定义 二叉搜索树,又称为二叉排序树。Binary Search Tree,Binary Sort Tree,简写为BST。二叉排序树或为空树;或者是这样一棵二叉树,若左子树不空,则左子树上所有结点均小于根结点,若右子树不空,则右子树上所有结点均大于根结点,其左、右子树也是二叉排序树。 时间复杂度 二叉搜索树插入、删除、和搜索的时间是O(log(n))。 中序遍历BST可以得到一个关...
阅读全文
posted @ 2010-04-28 19:00 ︶ㄣ第二名
阅读(2071)
评论(0)
推荐(0)
编辑
2010年4月27日
C++中的运行中动态类型识别RTTI
摘要: RTTI综述 C++中的2个运算符支持RTTI,即Run Time Type Identification:typeid和dynamic_cast。 RTTI实现的基石是每个类型对应的一个const type_info类型对象,它存储了这个对象的确切类型信息。注意,一个类型对应一个type_info对象,而不是一个对象。无论是基本类型还是用户自定义类型,都需要额外的内存来存放此类型对应的typ...
阅读全文
posted @ 2010-04-27 19:38 ︶ㄣ第二名
阅读(4792)
评论(0)
推荐(0)
编辑
2010年4月26日
Placement new、operator new、new operator 完全释疑
摘要: 首先我们区分下几个容易混淆的关键词: new(也称作new operator)、operator new、placement new。看如下代码: 这里的new是上述三个关键字中的第一个,成为new操作符。实际上它执行如下3个过程: 1. 调用operator new分配内存2. 调用构造函数生成类对象3. 返回相应指针 placement new 是重载operator new的一个标准、全局的...
阅读全文
posted @ 2010-04-26 21:03 ︶ㄣ第二名
阅读(6144)
评论(3)
推荐(2)
编辑
2010年4月25日
C++/C小知识点(2)
摘要: 负数的右移位操作 负数的>>操作,结果取决于语言的实现,左边空出的位置,可能填补0,也可能填补1。 静态局部对象 内置类型的局部对象如果没显式初始化,则值就未初始化。静态局部对象、全局对象,包括内置类型和用户自定义类型,如果未提供初始化式,则编译器自动初始化为0。 拷贝构造函数 A(A copy){…};是不允许的,如果允许,会造成无限的递归调用。正确的形参为co...
阅读全文
posted @ 2010-04-25 18:57 ︶ㄣ第二名
阅读(411)
评论(0)
推荐(0)
编辑
2010年4月23日
虚继承、虚基类
摘要: 运行结果: 注意SafaBed的成员初始化列表中,需要显式初始化虚基类furniture。 如果把Bed和Safa类定义的时候的2个virtual去掉,那么也必须修改SafaBed的成员初始化列表,需要删除对furniture的初始化,否则编译器提示:对“furniture”的访问不明确。运行结果为: 详细分析: 虚继承就是引入了虚基类的继承。引入虚基类的目的是为了解决类...
阅读全文
posted @ 2010-04-23 07:56 ︶ㄣ第二名
阅读(2389)
评论(0)
推荐(0)
编辑
2010年4月13日
什么应该放在头文件?何为外连接?
摘要: 什么应该放在头文件里 头文件为相关声明提供了一个集中存放的位置。头文件一般包含类的定义、枚举的定义、extern变量的声明、函数的声明、const int的定义、inline函数的定义。使用或者定义这些实体的文件要包含适当的头文件。头文件用于声明,而不用于定义 当设计头文件时,记住定义和声明的区别是很重要的。定义只可以出现一次,而声明可以出现多次。下列语句是定义,所以不应该放在头文件里:[代码...
阅读全文
posted @ 2010-04-13 19:00 ︶ㄣ第二名
阅读(2576)
评论(0)
推荐(0)
编辑
2010年4月12日
Linux C编程学习资料,学习过程
摘要: 2010/4/12 前后几日 学习IBM中国上的文章“系统调用跟我学”系列文章。文章地址为http://www.ibm.com/Search/?q=系统调用跟我学&v=16&en=utf&lang=zh&cc=cn&Search=搜索。 内容包括getpid, fork, exit和_exit,wait,waitpid和exec函...
阅读全文
posted @ 2010-04-12 16:56 ︶ㄣ第二名
阅读(586)
评论(0)
推荐(0)
编辑
2010年4月11日
C语言/C++编译过程
摘要: 1、编译预处理: 编译器读取C源程序,对其中的预处理命令(以#开头)和特殊符号进行处理。预处理命令包括主要包括三种,一是宏定义命令,二是条件编译指令,三是头文件包含指令。采用头文件的目的是使某些定义可以供多个不同的C源程序使用。在需要用到这些定义的C源程序中,只需加上#include语句即可,而不必重新定义一遍。预编译程序将头文件中的代码统统加入到源文件,进而产生输出文件。 除了以上三种预处理...
阅读全文
posted @ 2010-04-11 17:35 ︶ㄣ第二名
阅读(462)
评论(0)
推荐(0)
编辑
上一页
1
···
3
4
5
6
7
8
9
10
11
···
15
下一页