c++/c chips

scope resolution region operator:" ::"
http://msdn.microsoft.com/en-us/library/b451xz31.aspx

http://msdn.microsoft.com/en-us/library/56e442dc(v=VS.71).aspx

Format Specification Fields: printf and wprintf Functions

 

想要printf unsigned long long 用%llx; e.g.:printf("id is %llx /n", xxid);

 

 

unicode/mbcs/ansi

程序里还是用tchar比较好,否则转换起来还是挺麻烦的。

其实主要是unicode和非unicode之间的转换,mbcs是单位为char,程序解析的时候有可能一次解析变长个char来组成中文一类的字符。

http://msdn.microsoft.com/en-us/library/c426s321(VS.71).aspx

 

 

 

static_cast

http://msdn.microsoft.com/en-us/library/c36yw7x9(v=vs.80).aspx

compile time的类型转换,一种是像int转float这种,没什么好说的。

pointer转换到是值得注意。

比如:

 

class B:public A, public AA
{
//...
};

 

在做B* b = new B; AA* a = static_cast<AA*>(b);这样的操作的时候,a的地址会是根据内存的一个偏移而不是和b一样,或者dynamic_cast类型的NULL;

http://msdn.microsoft.com/en-us/library/5tkz6s71.aspx

__declspec( selectany ) declarator
用这个可以直接header里面define global/static variable, 然后在link的时候只选择一个,就不会出现multiple definition了。


原文链接: http://blog.csdn.net/ccanan/article/details/6039179

你可能感兴趣的:(c++/c chips)