進め、自分。

ゲームプログラマがC++のことなどを。

C++

TypeInfo改良

C++

最近ちょいちょい趣味プログラムを書いている。 VisualStudioを2017から2019に更新して、 Clangも更新して、 とりあえずC++17が使える環境に。コードは色々触ってるけど、最近は自前TypeInfo関連の改良を。 このブログで最初に投稿してたやつ。 dinks.hatebl…

角度クラス 解説

C++

角度クラスが一通り実装できたので解説を。(3年越しだな…)まずは使い方。 void func( Angle a ) { ... } ~~~ Angle a(0.5f); // 180度 Degree d(180.f); // 180度 Radian r(pi); // 180度 // どれでもOK func(a); func(d); func(r); // 四則演算 //a +…

角度クラス 実装その2

C++

角度クラス、実装していったら やっぱりラジアン、デグリー、360度を1.0で表す3種類を 1つのテンプレートで実装することになりました…ひとまず現在の実装状態は↓から。tofu/Angle.hpp at develop · fsawa/tofu · GitHub tofu/Angle.cpp at develop · fsawa…

角度クラス 実装その1

C++

少しずつですが、角度クラス実装してます。以前の構想ではラジアン、デグリーと、360度を1.0で表す3種類を扱う予定でしたが、 改めて考えてみると、1.0で表すクラス1つでいいんじゃないかと思ってきました。もちろん、ラジアンやデグリー値との相互変換は…

型情報クラス作成

C++

型情報クラス、最低限必要なところは実装完了。 一応GitHubで見られます。 tofu/TypeInfo.hpp at develop · fsawa/tofu · GitHub tofu/TypeInfo.cpp at develop · fsawa/tofu · GitHubあとは参照型の対応と、継承関係の検出をやりたいけどそれはまた後で。 …

RTTIを使わない型名の取得

C++

ひとまず単体テストのプロジェクトが作成できました。 コンパイラを「Clang with Microsoft CodeGen」にしていて、 Clang用のプロジェクトテンプレートにはライブラリしか無いので 後から実行形式に設定を変えるなど。 VS2017のClangがどういうバージョンな…

単体テスト準備

ひとまずライブラリが最低限ビルド出来る段階になったので、 今度は単体テストで動作確認をしたくなりました。テスティングフレームワークはGoogleTestを使ったことがありますが、 今回はとあるフレームワークを試してみることに。それはgithubで公開されて…

countof

C++

自作ライブラリ、手始めに型情報クラスを実装。 それに伴う最低限必要な機能をあれこれ実装した。 アサートマクロとか、コンパイラ毎の違いを吸収するマクロとか。で、配列の要素数があっているかチェックする静的アサートのマクロも 実装しておこうと思って…