プログラミング

Luaの標準ライブラリをCやC++から呼び出すときの注意(メモ)

luaのみを使っている場合標準ライブラリは特にimportやらincludeやらをしなくていいのであんまり意識しない。んでC++から呼び出したときも同じ感じで特に何も指定せずでできるのかなと思ったらエラーを吐いた。 luaL_openlibs(L); という一行を入れなくては…

&演算子のオーバーロードの罠

予想外のエラーがでて悩んでいました。なぜかオーバーロードしたものではなくデフォルトの自分自身のポインタを返すoperator&が呼ばれてしまう... &演算子に限ったことではなくオーバーロードのどの関数が呼ばれるかという問題であることに気づきました。 エ…

Qt SDKを導入してみた

簡単にC++でGUI作れるフレームワークとかないかなと探していたらQt(キュート)なるものを見つけました。ということで導入してみます。 とりあえずQtの公式ホームページにいき、ダウンロードからインストーラを落とします。僕は開発ではwindowsを使っているの…

暗黙のインターフェースにconstを強要させる

テンプレートで静的ポリモーフィズムを実現するために暗黙のインタフェースを利用します。しかしこれは明示的なインターフェースと違い、引数がconst、あるいはインターフェースがconstメンバ関数かどうかまで通常指定することができません。しかしconstは便…

リストを実装してメモリエディタで遊んでみる。

今回は解説というより半分遊びなので口調がいつもと違うかも。 標準STLばっか使っててデータ構造何一つ実装したことないので双方向リスト(実質単方向だけど)リスト実装してみた。とりあえずソースコード。 //list.h template <class TType> class List{ private: List* Ne</class>…

チートツール(メモリエディタ)でメモリ内を覗いたり書き換えたりして遊んでみた

プログラミングをしていても、イマイチポインタやメモリ構造、オーバーフローが理解できないし、イメージしづらいてってのがありました。んで、じゃあメモリをのぞいてみようということで。それが手軽にできるツールがメモリエディタです。普段はゲームのチ…

【メモ】C++でポインタの動的配列

確保するときに悩んだのでもしかしたら需要あるかなと思って書いておく。 ポイントはポインタのポインタにするところとnew hoge*[10]みたいに*を型の後におくところ。最初 new *hoge[10]みたいにしてて上手くいかなかった。あくまでhoge*を10個確保するとい…