- 博客(15)
- 收藏
- 关注
原创 红黑树介绍与分析
最近觉得C++生疏了,拿出侯捷的《STL源码剖析》翻了翻,看到C++ set,map底层实现机制,其中采用的就是红黑树数据结构,另外Linux内核对内存管理和进程调度都用到了红黑树,看来它不能让人小视。自己从网上和书上重新看了下红黑树,把个人的理解放到博客上,跟大家讨论,也作为自
2011-09-03 21:31:51
2525
原创 关于构造函数构造默认对象加括号的疑惑
以前一直未注意 构造函数在构造默认对象时,如果无参数传递绝不应该加括号如class TEST{public: TEST(int){} TEST(){} void fun(){}}; int main(){ TEST t(10); //正确,传进参数10 TEST t(); //原意是利用默认构
2009-09-14 23:33:00
2126
2
原创 数组名与指针的区别 转帖
http://topic.youkuaiyun.com/u/20090321/17/0d22ba93-4302-48b7-83f1-13dc5ea8a77e.html C/C++数组名与指针区别 引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他
2009-09-12 13:52:00
503
1
转载 C++虚函数与虚函数表 转帖
概念: 虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的,简称为V-Table。学习虚函数的作用: 理解C++实现多态的机制、解决了继承、覆盖的问题。以下摘抄自:http://www.cppblog.com/xczhang/archive/2008/01/20/41508.html一般
2009-09-12 13:42:00
464
转载 placement new
"placement new"? 它到底是什么东东呀?我也是最近几天才听说,看来对于C++我还差很远呀!placement new 是重载operatornew的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operatordelete能够被替换成用户自定义的版本)。它的原型如下: void *operator new( size_
2009-09-07 21:54:00
358
原创 华为位操作面试题分析
今天看到一题关于位操作的面试题,看了所谓的答案后还是比较迷茫,于是网上搜索了下,加上自己理解整理如下 题目: Normal 0 7.8 磅 0 2 false false false
2009-07-12 22:38:00
640
转载 引用~makefile 通俗易懂
目的: 基本掌握了 make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h
2009-06-11 22:58:00
412
原创 C++中extern “C”含义深层探索
引用论坛高人的帖 自己学习下1.引言 C++语言的创建初衷是“a betterC”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支
2009-06-11 21:42:00
361
原创 数据库备份命令
备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump -–add-drop-table -uusername -
2008-09-07 20:54:00
1388
转载 简单的SQL命令
一、连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2、例2:连接到远程主机
2008-09-06 16:22:00
655
1
原创 数组首地址和指针
main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);//这个是数组的偏移printf("%d,%d",*(a+1),*(ptr-1));}输出:2,5*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5&a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)int *ptr=(int *)
2008-08-23 19:13:00
1953
转载 数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:
#includeusing namespace std;void do_dump(int a[],int N){ int *b=new int[N]; for(int i=0;i!=N;++i) b[i]=0; for(int j=0;j!=N;++j) { if(b[a[j]]==0)
2008-08-22 13:15:00
2686
2
原创 ubuntu--iptables手册
总览 用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改 iptables - [RI] chain rule num rule-specification[option] 用iptables - RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用
2008-05-02 17:44:00
1426
转载 APT命令
apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f =
2008-04-30 09:56:00
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人