摘要: 泛型算法:
所有算法的前两个参数都是一对iterators:[first,last),用来指出容器内一个范围内的元素。
每个算法的声明中,都表现出它所需要的最低层次的iterator类型。
70个算法: 阅读全文
摘要: Thread local storage (TLS)统一进程的多个线程可以通过由TlsAlloc方法返回的索引值在线程自身的空间内存储和取回一个值。在以下这个例子里,索引值在进程开始时创建,当各个线程启动时,会各自申请一块动态内存并且将内存指针通过TlsSetValue方法存储到各自的TLS空间中(由先前的索引值标定)。CommonFunc方法使用TlsGetValue方法通过索引取得数据指针。在各个线程结束前,释放动态内存块。在进程结束见,调用TlsFree方法释放索引。 阅读全文
摘要: 对于经常在Windows编程的使用者,想体验*nix编程可以选择vw,vpc,双系统,而对于真正的开发者而言一个*nix shell加上GCC GDB MAKE以及相关的函数库文件足以,哦,也许加上DEVDOC才算完整,也就是可以使用man,所有这些cygwin完全可以搞定。
阅读全文
摘要: 前段时间有人发表了关于拷贝构造函数的问题,我觉得对于拷贝构造函数要掌握四点(以下以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 阅读全文