摘要:
原理:拷贝自身对象实际上就是调用的拷贝构造函数,注意事项是这里的拷贝是深拷贝,即需要拷贝指针所指的内容#include #include #include class Resume{public: virtual Resume* Clone(){return NULL;} virtual ~Resume(){}protected: char *name;};class ResumeA:public Resume{public: ResumeA(const char* str); Resume* Clone(); ResumeA(const ResumeA& r); ~ResumeA() 阅读全文
摘要:
原理:将类的构造函数由pubic变为private或者protect,添加获取对象的public 成员函数,返回指向对象的静态指针。首先来一段简单的代码实现代码一class Singleton{public:static Singleton* instance(){ if (pInstance == NULL) { return new Singleton(); } return pInstance;}protected: Singleton() { }private: static Singleton* pInstance;};Singleton* Singleton::pInstance. 阅读全文
摘要:
第三章的总的原则:1.将重复性代码改到数组中,使用最简单的数据结构---数组来表示一段冗长的相类似的代码往往可以达到最佳效果2.封装复杂的结构时,使用抽象的术语对她进行定义,并将那些操作表示成一个类。3.尽可能地使用高级工具。超文本,名称-值对,电子表格,数据库4.让数据去构造程序。习题1代码实现:#include int income[5] = {2200,2700,3200,3700,4200};double lilu[5] = {0,0.14,0.15,0.16,0.17};int main(){ int incomevalue = 0; scanf("%d",&am 阅读全文
摘要:
问题A题目:给定一个包含40亿个随机排列的顺序文件,找到一个不在文件中的32位整数,在有足够内存的情况下应该如何解决该问题?如果有几个外部的临时文件可用,但是仅有几百字节的内存,又该如何解决?(1)对于有足够内存的情况,完全可以采用位图存储的方法,详细内容看《编程珠玑》第一章。(2)Ed Reingold 给出了另外一种解法。 问题的关键是只要找到一个数字,那么我们把问题简化一下,给定一个文件,里头最多包含16个4bit的整数,找到一个不在文件中的4bit整数。假设这十个数是1 2 3 4 5 7 6 9 8 10。 取出一个数字,如果是最高位为1,放到一个文件中,否则放到另外一个文件中。.. 阅读全文
摘要:
整个程序的思想就是: 1.每个整数有32位,那么它就可以表示32个数,分别对应每bit位为1. 2.然后把10000000个数分为1+N/BITSPERWORD组(相当于有这么多个桶),每组包含接近32个数。上面的解释可能仍不到位,那我们来看具体的函数:对于set函数,我们可以这样理解, arr[i>>SHIFT] |= (1#define BITPERWORD#define MASK 0x1F#define N 10000000#define SHIFT 5int a[N/BITPERWORD + 1];void clr_bit(int i){a[i>>SHIFT] 阅读全文
摘要:
http://www.codecho.com/reading-large-file-using-cpp/ 阅读全文
摘要:
scanf()函数的原理想象输入设备(键盘)连接着一个叫“缓冲”的东西,把缓冲认为是一个字符数组。当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。现在假设你的缓冲区里有:abcd\n1234\n (其中\n是回车符)执行:scanf("%s",name);的时候,由于scanf是读数据直到看见空白符(空白符:指空格符、制表符、回车符)就停止的输入函数。所以执行后,把abcd存到了name中。缓冲区于是变成了 : \n1234\n接下来的执行就有问题了,如果遇到了:scanf("%d",&numbe 阅读全文
摘要:
操作系统使用不同的值作为文件结束符。Windows上我们通过键入ctrl+z键作为文件结束符。Unix系统中,包括Mac OS-X机器,通常用ctrl+d作为文件结束符。用VC++6.0的时候,要输入两次ctrl+z及回车才能作为输入结束。 阅读全文
摘要:
http://www.360doc.com/content/11/0826/13/7588214_143424472.shtml链接,装载都是基于数据结构ELF。 阅读全文
摘要:
Mysql./configure --prefix=/usr/local/mysql(注意/configure前有“.”,是用来检测你的安装平台的目标特征的,prefix是安装路径)#make(编译程序)(此处等待时间较长,不要关闭编辑器)#make install(安装程序)#/usr/local/mysql/bin/mysql_install_db --user=root(初始化数据库,用户mysql)#cp support-files/my-medium.cnf /etc/my.cnf(将MYSQL配置文档复制到/etc目录下保存为my.cnf,如果问是否覆盖原文件,输入“yes&quo 阅读全文