1. VC60的編譯器不支持,在類(lèi)里面定義static const int a = 10;的定義只能通過(guò)enum達(dá)到目的。
class A
{
private:
enum { a = 10 };
const int b[a];
};
2. 不完全聲明
在cpp中,要傳遞任何類(lèi)型的時(shí)候,必須知道它的大小。如果存在相互依賴(lài)大小的關(guān)系的時(shí)候。傳指針是一個(gè)很不錯(cuò)的選擇。因?yàn)榫幾g器一定知道指針的大小^_^
不完全聲明的另外一個(gè)好處就是,可以在類(lèi)中增加隱藏和減少編譯。
Class
{
Struct tagFoo;
Struct tagFoo *pFoo;
public:
DoSomeThing();
}
作為一個(gè)頭文件,將會(huì)暴露給別人,如果使用結(jié)構(gòu)體指針。能夠?qū)⒔Y(jié)構(gòu)體的完全聲明放在.cpp文件里面,在修改的時(shí)候編譯.cpp文件就可以了。不用將.h文件一并編譯。
posted on 2008-04-27 22:01
margin 閱讀(103)
評(píng)論(0) 編輯 收藏 引用