上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 25 下一页
摘要: _T("")是一个宏,定义于tchar.h下。#define __T(x) L ## x#define _T(x) __T(x)作用他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译 阅读全文
posted @ 2013-10-15 14:07 CPYER 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 为了程序的通用性,可以使用#define预处理宏定义命令,它的具体作用,就是方便程序段的定义和修改。 1.关于预定义替代#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x#表示x连接y:int n = Conn(123,456); 结果是n=123456;char* str = Conn("asdf", "adf")结果是 str = "asdfadf";#@x,其实就是给x加上单引号,结果返回是一个const char:char a = ToChar(1 阅读全文
posted @ 2013-10-15 13:57 CPYER 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 把文件分成头文件和源文件完全是为了方便扩展和组织程序 这么说吧 我们可能会自定义很多函数 而这些函数分别会在不同的地方被调用 甚至有些时候我们需要把一堆函数打包起来一起调用 比如#include "stdio.h" 的意思就是告诉系统 我要用输入输出函数包(stdio.h打包了各种各样的输入输出函数). 说说具体的吧 为了方便函数可以独立的被任何地方调用 我们会把每一个函数的定义代码都写成一个cpp 这个叫做函数的代码文件 并且此cpp的文件名以此函数名来命名 同时 我们会建立一个文件名相同的头文件(即.h)并在该头文件里写上此函数的函数声明(如 void a();等等) 阅读全文
posted @ 2013-10-14 09:42 CPYER 阅读(740) 评论(0) 推荐(0) 编辑
摘要: [转]浅谈C/C++内存泄露及其检测工具 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟,但是在c/c++领域的发展并不顺畅,虽然很早就有人思考在C++中也加入GC的支持。现实世界就是这样的,作为一个c/c++程序员,内存泄漏是你心中永远的痛. 阅读全文
posted @ 2013-10-14 09:22 CPYER 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 编写一个List类:class List{ int length; //列表长度 int* lpInt; //列表指针 List(int size); ~List();}List::List(int size){ length = size; lpInt = new int(length); //关键点 int n; for(n=0;n<length;n++) { lpInt[n] = n; }}List::~List(){delete []lpInt; //出错,访问越界}在调试时,运行报错:Debug Error!Frogram: C:\Test\... 阅读全文
posted @ 2013-10-09 16:26 CPYER 阅读(1797) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 25 下一页