随笔分类 - c/c++
摘要:auto_ptr<char> pszBuf(new char[100]);析构时内存不会完全释放...那为何当初不设计可以释放掉的智能指针呢?答案是完全没有任何意义.....标准库那些容器完全可以满足你的要求..如果需要动态分配的内存可以按如下写法typedef std::vector<char> Buffer;auto_ptr<Buffer> pszBuf(n...
阅读全文
摘要:7. 配置include目录:C:\boost_1_41_0library目录:C:\boost_1_41_0\stage\lib添加到IDE相应的路径下面即可。8. 使用使用举例:#include <boost\thread.hpp>此时,不用包含库文件,boost的auto-link机制将会自动帮我们包含对应的静态lib。也就是说,boost默认是以静态方式链接的,这样我们的工程属...
阅读全文
摘要:1、在网站下载boost_1_35_0文件包。boost老巢http://www.boost.org/。 2、 由于boost是采用其自己的bjam工具通过命令行进行编译的,所以: 如果在Windows下开启console窗口(单击“开始”按钮,单击“运行”,敲入“cmd”),必须将Visual Studio中C++目录下的...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<string>#include<wchar.h>std::stringws2s(conststd::wstring&ws){std::stringcu...
阅读全文
摘要:以下讨论都基于C++的定义在C++的标准定义中Type wchar_t is a distinct type whose values can represent distinctcodes for all members of the largest extended character set specifiedamong the supported locales. Type wchar_t...
阅读全文
摘要:美国AT&T贝尔实验室的本贾尼•斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++。随后,在面向对象语言迅速发展的时代背景下,C++以其面向对象的语言特性同时对C语言的良好兼容,并且凭借着接近C语言的效率,C++语言在工业界使用的开发语言中占据了相当大的份额。在以后的发展中,C++不断引入新的内容,标准模板库(STL)和后来的Boo...
阅读全文
摘要:摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。STL map和set的使用虽不复杂,但也有一些不易理解的地方,如:为...
阅读全文
摘要:出自:http://www.lslnet.com/linux/books/resource/stl.html这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我...
阅读全文
摘要://代码1代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<algorithm>#include<vector>#include<iostream>classPrintInt{public:voi...
阅读全文
摘要:光看名字就已经乱的不行了..我现在总结出来..每种的写法...代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//数组voidtest(){//数组inta[100];//指针数组,包含100个int*的数组int*a[100];//数组指针,指向...
阅读全文
摘要:要对绝对地址0x100000赋值,我们可以用 (unsigned int*)0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? *((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*)())0x100000 然后再调用它: *((void (*)())0x100000)()...
阅读全文
摘要:真体现了图灵完备性代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--/************************************************************************//*模板元编程/*********...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--Includeheadfiletime.h,thoughit'saCincludefile,C++certainlycanuseit.UnderC++,youcaninclude<ctime&g...
阅读全文
摘要:const用法详解 面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的#define 以下几点很重要,学不好后果也也很严重 const 1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法 2. 必须初始化 const int i=5; ...
阅读全文
摘要:和流水线相关是说得通的,究其原因还是因为存在动态跳转,这会导致分支预测失败,流水线排空。 设想一下,如果说不是虚函数,那么在编译时期,其相对地址是确定的,编译器可以直接生成jmp/invoke指令; 如果是虚函数,多出来的一次查找vtable所带来的开销,倒是次要的,关键在于,这个函数地址是动态的,譬如 取到的地址在eax里,则在call eax之后的那些已经被预取进入流水线的所有指令都将失效。流...
阅读全文

浙公网安备 33010602011771号