不使用sizeof(),判断当前系统是16位或者32位
#include <iostream>
int main(int argc,char* agrv[])
{
int* p = NULL;
int* pNext = p + 1;
int res = (int)pNext;
int nSystemBit = res<<3;
std::cout<<nSystemBit<<std::endl;
int i = 65536;
std::cout << i; // 输出0;//装不下,最高位溢出,剩下16位的当然是0;
i = 65535;
std::cout << i; // 输出-1;//-1的补码是65535
}
构造函数中的this指针
-------------------------------原理-------------------------------
某些人认为不应该在构造函数中使用this指针,因为这时this对象还没有完全形成。
但是,只要小心,是可以在构造函数中使用this指针的:
●在函数体中
●初始化列表中
因为“对象还没有完全形成”不意味着“什么都没有”。
在进入构造函数(及其chaining)之前,Compiler会:
●给class的instance分配内存
●建立运行时刻系统所需的信息(如vtbl等)
●##缺省地## 构造所有类成员
-----------------------------【能】---------------------------------1.
class
CMyWindow :
public
CWnd
2.
{
3.
private
:
4.