- 博客(11)
- 收藏
- 关注
原创 基于灵巧指针和引用计数的String类
/** *利用灵巧指针和引用计数功能实现string类**///类头文件//smart pointer用来管理类的指针成员,避免内存泄露template class RCPtr{public: RCPtr(T* realPtr = 0); RCPtr(const RCPtr&); ~RCPtr(); RCPtr& operator=(const RCPtr&); T*
2014-03-12 10:07:54 642
原创 C++灵巧指针
templateclass SmartPtrToConst{ //这个类作为基类而存在,为了实现从const smart pointer 到smart pointer的转换 ....protected: union { const Type* constPointer; Type* pointer; };};templateclass SmartPtr:publ
2014-03-11 15:42:47 726
原创 更高效的C++_More Effective CPP手记一之基础议题
基础议题M1.指针与引用类型的选用1.任何时候都不能使用只想控制的引用,引用一经定义,必须指向某个对象,之后不能改变。2.如果设计中变量不能为空,应该使用引用,而且在使用时不需要对变量进行验证其合法性,效率要比指针要高。3.指针与引用的一个重要区别是:指针可以指向NULL,而且可以重新指向另一个不同的对象,而引用初始化时被指定对象,之后不能改变。4.当你重载某些操作符的
2014-03-04 15:58:14 796
原创 浅谈动态库技术
1.动态库的创建与使用规范(1)动态库创建头文件中进行如下定义导出//api.h#ifdef HELLOAPI#else#define HELLOAPI extern "C" __declspec(dllimport)#endifHELLOAPI void printHello();定义文件中进行如下操作#include "stdafx.h"//此处先定
2014-02-28 15:14:48 832
原创 C++手记--标准库类型
1.在头文件中,最好只定义确实需要的东西,如避免使用using声明,而是使用完全限定std::string,因为using会在每个include该文件中,进行声明2.字符串字面值与string不是同一种类型3.getline(cin,strTemp);读取一行文本,不包括换行符4.string.size()返回长度为string::size_type类型,实现机器无关性,不要将返回值赋
2013-12-30 15:14:56 626
原创 C++手记--变量和基本类型
1.C++是静态类型语言,在编译时进行类型检查2.32位系统中int和long类型通常字长是相通的。3.C++中对整型赋值,超出范围后,会对该类型取值个数求模后的值,例如把-1传给一个unsigned char类型,得到的值是-1对256求模后的值2554.float只能保证6位有效数字,double至少保证10为有效数字5.有些机器上,double类型要比float类型计算快得多
2013-12-23 13:54:08 679
原创 C++手记--快速入门
1.命令行编译CPP文件 MS编译器:cl HelloWorld.cpp 获取main方法返回值命令:echo %errorlevel%2.C++没有直接输入输出的语句,标准库iostream提供这种功能 #inlcude cin cout cerr clog3. 编程好习惯: 定义变量时总是给一个初始值,减少以后查找错误的可能性 总是进
2013-12-20 14:30:15 668
原创 获取ini文件节下面所有键的内容信息
通过提供INI文件的节名,例如我的是【1】【2】【3】【4】,可以获取下面所有键的信息,包括键名称和内容。void GetIniInfo(){ CStringArray arrDbfFile; CString strFilePath = _T("c:\\info.ini"); //存储每个节所有键的信息,每个以NULL分开 TCHAR szBuf[_MAX_PATH];
2013-08-01 10:00:02 1865
原创 DBF操作:多线程下的ADO连接DBF文件获取信息的解决
话说最近做个项目工具,需要对数据库进行转换。结果用到了DBF,从上学来就没听说过,于是就开始了搜索之旅,都说google才专业,可是公司的网速实在不能跟上专业的步伐,于是百度了一下,经过几天的折腾,终于有了点眉目,赶紧记录下来,以备后用。DBF文件的存放目录就相当于一个DBF数据库,因为在连接的时候,连接字符串直接用到那个目录进行数据库的连接,对于这点我也感到匪夷所思。。以下都是个人的
2013-07-26 09:58:21 1398
原创 windows窗口创建过程
windows编程首先要包含Windows.h头文件创建窗口大致需要以下几个步骤: 1.建立窗口类,WNDCLASS 2.注册窗口类,RegisterClass 3.创建窗口,CreateWindow 4.显示更新窗口,ShowWindow,UpdateWindow 5.消息循环 6.窗口过程 至于ShowWindow
2013-06-07 16:52:56 1448
原创 双字节十六进制字符编码的二进制文件写入
例子:将0X87A2 (对应字符) 写入到二进制文件效果如下00000000 38 37 41 32 20 87 A2 20注释:前面四个分别为字母87A2的十六进制编码,20为空格,后面87 A2为该十六进制字符显示 文件打开效果:87A2 嚔 具体实现: unsigned long number = 0x87A2; unsigned
2013-06-06 15:55:53 1726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人