对LPCTSTR的疑问
1)LPCTSTR是什么类型,是一个char * 吗?
2)LPCTSTR和string,CString之间是什么关系?
3)在使用了LPCTSTR类型的变量后,需要手工释放该类型的变量所占用的内存吗?若是,是否通过delete来释放?
望大家指点迷津,请详细的解释一下。谢谢了!
问题点数:30、回复次数:3Top
1 楼zzw820626(偶要分,偶要星星)回复于 2006-03-12 12:00:18 得分 15
1)LPCTSTR是什么类型,是一个char * 吗?
不是滴。An LPCWSTR if UNICODE is defined, an LPCTSTR otherwise.
//如果UNICODE被定义,那么指向一个宽字符串的指针类型。如果没有指向普通字符串
2)LPCTSTR和string,CString之间是什么关系?
一个指向字符串的指针指针类型和string类型,CString 类型关系不大。又一些操作可以强转类型。
3)在使用了LPCTSTR类型的变量后,需要手工释放该类型的变量所占用的内存吗?若是,是否通过delete来释放?
首先LPCTSTR指向的是一个const类型的字符串。那么既然是const自然就不能修改,也不能删除了。Top
2 楼DrSmart(斯玛特)回复于 2006-03-12 16:28:24 得分 6
const char *
没有GetBuffer就不用了手动释放内存了,mfc会自己管理CString的内存Top
3 楼YufengShi(浪子)回复于 2006-03-12 16:42:17 得分 9
#ifdef UNICODE
LPCTSTR equal to const unsigned short*
#else
LPCTSTR equal to const char*
#endifTop




