色々 – プログラミング – Home

通知
すべてクリア

色々


o_2
 o_2
(@o_2)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

もうひとつお願いします。

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”とは何ですか?
色々すみません。お願いします。


引用解決済
トピックタグ
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

えー、C++の入門書を買って読みましょう、というのが1番早そうですが、
とりあえず一つ一つ行きましょう。

inline
関数実体を作らず呼び出し元に埋め込んでよい、とコンパイラに指示します。
埋め込まれると関数の呼び出し自体のコストをなくすことが出来ます。
関数が関数呼び出しのコストより大きいなどで、
埋め込むことが得策でないこともあるため
コンパイラはこれを無視することも出来ます。
さらに、inline指定をするとその関数は内部リンケージになります。

namespace NS_GAMEAPP
NS_GAMEAPPという名前空間を作っています。名前空間とはその名のとおり名前の空間で、
識別子の衝突を避ける、構造を整理するなどの利点があります。

virtual
仮想関数指定です。同名関数の呼び出しが動的な型によって解決されることをしめしま
す。
この関数は派生先によってオーバーライドすることが出来ます。


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

↑みづらいね、ごめんなさい。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました