C++
basic technology and skills STL
摘要: 根据前一篇文章描述实现的A*算法
阅读全文
摘要: vector为我们提供了可伸缩的顺序存储容器,在顺序和随机存储方面效率很高
阅读全文
摘要: 0-1背包问题是对空间问题,排布选择问题的抽象
阅读全文
摘要: 在一个8×8国际象棋盘上,有8个皇后,每个皇后占一格;要求皇后间不会出现相互“攻击”的现象,即不能有两个皇后处在同一行、同一列或同一对角线上。问共有多少种不同的方法。
阅读全文
摘要: 事情起因是这几天用电驴上下载一个资源,顺便推荐一下-国家地理频道的《终极工厂》,本人很喜欢看,偶然间翻到了http://www.verycd.com/topics/2746798/
总大小17多G,只好挂机下载,但是我XPS1530竟然没有关闭屏幕的热键-郁闷,盒上盖散热又是问题,那就自己动手吧
阅读全文
摘要: 联编是指一个计算机程序自身彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。
静态联编
静态联编是指联编工作出现在编译连接阶段,这种联编又称早期联编,因为这种联编过程是在程序开始运行之前完成的。
在编译时所进行的这种联编又称静态束定。在编译时就解决了程序中的操作调用与执行该操作代码间的关系,确定这种关系又称为束定,在编译时束定又称静态束定。下面举一个静态联编的例子。
阅读全文
摘要: C++继承了ANSI C的预定义常量,预处理器在处理代码时将它们替换为确定的字面常量。这些符号不能用#define重新定义,也不能用#undef取消该宏。
__LINE__ 引用语句的代码行号
__FILE__ 引用语句所在的文件名
__DATE__ 引用语句所在源文件被编译的时期
__TIME__ 引用语句所在源文件被编译的时间
阅读全文
摘要: C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
阅读全文
摘要: Thread local storage (TLS)统一进程的多个线程可以通过由TlsAlloc方法返回的索引值在线程自身的空间内存储和取回一个值。在以下这个例子里,索引值在进程开始时创建,当各个线程启动时,会各自申请一块动态内存并且将内存指针通过TlsSetValue方法存储到各自的TLS空间中(由先前的索引值标定)。CommonFunc方法使用TlsGetValue方法通过索引取得数据指针。在各个线程结束前,释放动态内存块。在进程结束见,调用TlsFree方法释放索引。
阅读全文
摘要: 前段时间有人发表了关于拷贝构造函数的问题,我觉得对于拷贝构造函数要掌握四点(以下以CCF代称拷贝构造函数)
第一:默认CCF提供对象之间的位拷贝(Bitwise Copy),对于指针类成员只会将至指针值复制
第二:CCF在对象初始化时才发挥作用,而在对象赋值的时候不起作用
第三:在没有显示声明成员CCF的情况下,编译器会自动生成默认CCF,如果显示声明了显示CCF,则编译器不会生成默认CCF,至少是不会调用
第四:与构造函数不同,CCF并不会递归的调用基类的CCF,子类与基类的CCF是覆盖关系,与就是说子类会寻找与自己关系最近的CCF调用,如果子类有CCF则仅调用子类CCF,如果子类没有向上寻找,调用第一个找到的CCF
第五:CCF的声明及定义如下:
1classname(classname const&obj)
2{
3 m1=obj.m1;
4 m2=obj.m2;
5 .
6 Lp1=new type[size];
7 memcpy
阅读全文