C++
zzqhost
热爱编程,精通C/C++, windows下编程
展开
-
C++特性总结
1、C++中类分为两部分,成员变量和成员函数。 成员函数位于代码区,不占用类对象的空间。 成员变量占用类对象的空间。2、每个成员函数有一个this指针,一般情况下是成员函数的第一个参数。3、对象一般情况下也是有数据对齐的。4、虚函数:如果一个类中有虚函数,则会为此类生成一个虚表(位于代码区),然后在每个类对象的空间中安插进一个虚表指针,指向它的虚函数表。基类和派生类原创 2010-05-18 13:32:00 · 734 阅读 · 1 评论 -
铁血教训 assert
<br />assert 是 C 语言中的一个断言,它的特性是<br /> 1 帮助程序员发现程序中的BUG<br /> 2 而且只在debug中起作用,在release版本中根本不编译。<br /> <br />所以导致使用它的一个要点:即不能在它里边写功能函数,否则在release版本中根本不会执行。<br /> <br /> <br />今天我就犯了这个错误,而且是在Android系统中,调试只能打LOG。 而且从庞大的源码中一步步的定位问题,花费了一天半的时间才找出来。教训啊。。<br />原创 2010-12-10 19:09:00 · 1081 阅读 · 0 评论 -
printf如何输出64位整数
<br />关于printf函数输出64位数的问题,其实在window下和linux下是不一样的:<br /> <br /> <br />linux下是<br />printf("%lld/n",a);<br />printf("%llu/n",a);<br /> <br />windows下是<br />printf("%I64d/n",a);<br />printf("%I64u/n",a);<br />原创 2010-12-09 10:46:00 · 49780 阅读 · 3 评论 -
字符转换函数
// 功能:将窄字符转化成宽字符,string->wstringconst wchar_t *Multibyte2Unicode(const char *str){ if (str == NULL){return 0;}setlocale(LC_ALL,".936");// 1 计算转换后宽字符串的长度。(不包含字符串结束符)int iWLen= mbstowcs(0, str, strlen(str)); // 2 申请空间static wchar_t *lpwsz = NULL;if (NULL !=原创 2010-12-10 21:39:00 · 633 阅读 · 0 评论 -
UTF8编码规则及用C++语言的识别
UTF-8编码规则UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。 如表: 1字节 0xxxxxxx 2字节 110xxxxx 10xxxxxx 3字节 1110xxxx 10xxxx原创 2012-05-29 18:05:15 · 1539 阅读 · 0 评论