このサイトのコンテンツであるゲームプログラミングの館のサンプルプログラム(C++)の項目のsp.1に
記述されているソースコードについて分からないことがあったので質問させてください
このページでSingletonクラスのインスタンス取得の為、main.cppから
SingletonクラスのInstance関数を呼び出す文があるのですがSingleton::Instance()と記述されています
なぜインスタンスを生成していないのに関わらずInstance関数を呼び出せるのですか?
また、この場合の::(コロン二つ)にはどういう意味があるのですか?
ご教授いただければ幸いです
よろしくお願いします
インスタンス生成せずにメンバ関数を実行する
Re: インスタンス生成せずにメンバ関数を実行する
新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]
ここのことですね?
[search=google]C++ メンバ関数 static[/search]
対象の関数が所属するクラスを示す意味があります。
[search=google]C++ スコープ解決演算子 static[/search]
ここのことですね?
SingletonクラスのInstance関数はstatic指定されているからです。マント さんが書きました:なぜインスタンスを生成していないのに関わらずInstance関数を呼び出せるのですか?
[search=google]C++ メンバ関数 static[/search]
「スコープ解決演算子」だと思います。マント さんが書きました:また、この場合の::(コロン二つ)にはどういう意味があるのですか?
対象の関数が所属するクラスを示す意味があります。
[search=google]C++ スコープ解決演算子 static[/search]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: インスタンス生成せずにメンバ関数を実行する
「スコープ解決演算子」と「static メンバ関数」の解説がないC++の入門書籍や入門サイトは止めた方が良いと思います。
もしちゃんと勉強していないなら、ちゃんとした書籍を読まれては?
もしちゃんと勉強していないなら、ちゃんとした書籍を読まれては?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。