c/c++
dazhabai
这个作者很懒,什么都没留下…
展开
-
TCP扫描器的简单实现
//TcpPortScanner.cc #include #include #include #include #include #include using namespace std; int main(in转载 2011-09-15 14:41:17 · 415 阅读 · 0 评论 -
拷贝构造函数的作用
拷贝构造函数,经常被称作X(X&),是一种特殊的构造函数,他由编译器调用来完成一些基于同一类的其他对象的构件及初始化。它的唯一的一个参数(对象的引用)是不可变的(因为是const型的)。这个函数经常用在函数调用期间于用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。 在C++中,下面三种对象需要拷贝的情况转载 2011-12-16 15:03:04 · 1322 阅读 · 0 评论 -
STL set实际上是个二叉搜索平衡数
stl的set是维护一个有序不重集合,用rbtree实现的,所以插入效率为nlogn;set的插入效率不高的,set用红黑树作内部数据结构,插入和删除节点时,有可能导致节点被重新着色或者旋转,最坏情况下,单次删除时间复杂度为O(log2N),因此性能并不是很高。#include #include #include using namespace std;转载 2012-01-04 17:06:39 · 565 阅读 · 0 评论 -
C指针的初始化与赋值
1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起来很简单:int *p;int a=25;int b[10];int *m=&a;int *n=b;int *r=&b[0];指针的定义如上所示,以*打头的变量代表该变量为指针变量。指针初始化时,“=”的右操作数必须为内存中转载 2012-03-23 10:22:55 · 643 阅读 · 0 评论 -
段错误的处理
编译时遇见了段错误,很多时候新手都会发现段错误,其实都是内存分配错误引起的:即用定义指针直接赋值的,那么char *p="aaa",其实和const char *p ="aaa";是一样的,都在常量区,处于静态存储区,是只读的,不可修改的,"aaa",是固定存放在.rdata段的。如果对该只读的进行操作,那么系统就会提示“段错误”!注意:上面的p是指针,在堆栈中,指向“aa转载 2012-03-23 10:09:27 · 856 阅读 · 0 评论