【Lua】組み込み系言語総合 その3【Squirrel】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0900デフォルトの名無しさん
2011/02/03(木) 12:39:08Sqrat::NoConstructor を継承してください。
ポインタを渡してる場合は、アロケータの処理は使わずに sq_setinstanceup() してるだけなので、
シングルトンをC++側からポインタで設定する分には NoConstructor で問題ありませんでした。
ただ New 防止は一切機能してないのでそれだけ足す形で使うのが妥当です
なお、BindInstance() はオブジェクトの protected 関数なので内部からよぶためのものです。外部から直接読んだらそりゃコンパイルエラーです。
SetInstance() はテーブル用の public 関数で、中身はBindInstance を非static指定で呼び出してるだけです。
テンプレートは基本、全部ソースを読んでからつかうものですよ。
sqrat は、そのままだと C++ 側からポインタ渡す場合のテンプレートに解放処理が一切入ってないので、
シングルトンならいいんですが、それ以外だとあっさりメモリリークします。
あと、インスタンスの型処理が全く行われてないとかいろいろ実装がおかしい部分があるので、
そのあたり全部直してからでないと使うの危険なのでご注意を。
レス数が900を超えています。1000を超えると表示できなくなるよ。