もうひとつお願いします。
inline void ErrorLog( const string& str )
{…}
このinlineとは何なのですか?
namespace NS_GAMEAPP
{
class CWMCallback{
private: string m_sKey;
public:
CWMCallback( const string& key ):m_sKey( key ){}
virtual ~CWMCallback(){}
const const string& GetKey()const{ return
m_sKey; }
virtual bool Call( UINT mess, WPARAM wp, LPARAM lp ) =
0;
};
}
上のnamespace NS_GAMEAPPとは何をやっているのでしょうか?
virtual~CWMCallback(){}
の”virtual”とは何ですか?
色々すみません。お願いします。
えー、C++の入門書を買って読みましょう、というのが1番早そうですが、
とりあえず一つ一つ行きましょう。
inline
関数実体を作らず呼び出し元に埋め込んでよい、とコンパイラに指示します。
埋め込まれると関数の呼び出し自体のコストをなくすことが出来ます。
関数が関数呼び出しのコストより大きいなどで、
埋め込むことが得策でないこともあるため
コンパイラはこれを無視することも出来ます。
さらに、inline指定をするとその関数は内部リンケージになります。
namespace NS_GAMEAPP
NS_GAMEAPPという名前空間を作っています。名前空間とはその名のとおり名前の空間で、
識別子の衝突を避ける、構造を整理するなどの利点があります。
virtual
仮想関数指定です。同名関数の呼び出しが動的な型によって解決されることをしめしま
す。
この関数は派生先によってオーバーライドすることが出来ます。
↑みづらいね、ごめんなさい。