随笔分类 - c++
摘要:相关的头文件:#include 需要相关的类fstream提供三种类,实现C++对文件的操作ofstream:写操作,由ostream引申而来ifstream:读操作,由istream引申而来fstream :同时读写操作,由iostream引申而来文件的类型:文本文件 和 二进制文件文件读写的步骤...
阅读全文
摘要:I need a library that can URLencode a string/char array.Now, I can hex encode an ASCII array like here:http://www.codeguru.com/cpp/cpp/cpp_mfc/article...
阅读全文
摘要:#include #include inline BYTE toHex(const BYTE x){ return x>9?x+55:x+48;}std::string WC2UT(const wchar_t* buf){ int len=WideCharToMultiByte(CP_U...
阅读全文
摘要:面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为。在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体。也可以这样说就是实现了“一个接口,多种方法”。 从实现的角度来讲,多态可以分为两类:编译时的多态性和运行时的多态性。前者是通过静...
阅读全文
摘要:1. C中static有什么作用 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开...
阅读全文
摘要:这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。1.求下面函数的返回值( 微软)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;...
阅读全文
摘要:在API测试过程中经常会遇到传入参数为复杂类型,一般情况下在python下,习惯用字典来表示复杂类型。但是c++对字符串的处理是比较弱智的,一般c++里边会用vector来存储复杂类型,那么就存在转换的问题,下面小段代码记录了将字符串转换为Vector的过程待转换的字符串如下:const char ...
阅读全文
摘要:1vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vect...
阅读全文
摘要:/*当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。简而言之,对象是由“底层向上”开始构造的。因为,构造函数一开始构造时,总是要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时,如果...
阅读全文
摘要:在 Debug 模式下,VC 、VS会默认把未初始化的栈内存按字节全部填成 0xcc,当一段初始化为0xcccc的内存被当做字符输出的时候,就会出现ansi码0xcccc对应的中文字“烫”;把未初始化的堆内存全部填成 0xcd,当一段初始化为0xcdcd的内存被当做字符输出的时候,就会出现ansi码...
阅读全文
摘要:有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型) 常量和引用,必须通过参数列表进行初始化。静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字...
阅读全文
摘要:BOOLToHexStr(constCHAR*lpStr,intnSrcLen,CHAR*lpHex,intnDestLen){constCHARcHexTable[]="0123456789ABCDEF";if(lpStr==NULL||nSrcLen>4];lpHex[i++]=cHexTabl...
阅读全文
摘要:参考及摘抄自文章:http://www.cnblogs.com/lartely/archive/2011/04/10/2011770.html http://blog.csdn.net/sunboy_2050/article/details/7753662基础知识:注册表的组织方式跟文件目录比较...
阅读全文
摘要:最先附上下载地址背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip):最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作。笔者之前没接触过任何加密解密方面的知识(当然,把每个字符的ASCII值加1之流对明文进行加密的“趣事”还是干过...
阅读全文
摘要:使用Boost property_tree解析json之前使用jsoncpp解析json,现在才知道boost就有解析的库,学习一下吧property_tree可以解析xml,json,ini,info等格式的数据,用property_tree解析这几种格式使用方法很相似。解析json很简单,命名空...
阅读全文
摘要:如果要自学游戏程序开发的话,可以看看下面的,呵呵。游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦):1、Gamebryo 2.2游戏引擎(盛大、腾讯等公司制作网络游戏常用)+Gamebryo v2.2.1说明文档2、游戏PDF书及其代码:3D游戏编程、...
阅读全文
摘要:不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。原理刚学C语言...
阅读全文
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录。Jsoncpp是个跨平台的开源库,下载地址:http://sourceforge.net/projects/jsoncp
阅读全文
摘要:在C语言的stdarg.h头文件中提供了三个函数va_start, va_end,va_arg和一个类型va_list。利用它们,我们可以很容易实现一个可变参数的函数。首先简单介绍一下这三个函数。假设现在有一个名为f的函数,其函数定义为:void f(int a, int b, ...)那么,在函数...
阅读全文
摘要:线程池的原理和实现 一. 线程池的简介 通常我们使用多线程的方式是,需要时创建一个新的线程,在这个线程里执行特定的任务,然后在任务完成后退出。这在一般的应用里已经能够满足我们应用的需求,毕竟我们并不是什么时候都需要创建大量的线程,并在它们执行一个简单的任务后销毁。 但是在一些web、ema...
阅读全文