チラシの裏は意外と白くない

最近忘れっぽくなったので調べたことをチラシの裏に書きます

C++

pythonからC++を呼び出して、jsonファイルをやり取りする②

前回、C++で書いた関数をpythonモジュールにして、それをpythonから呼び出すプロトタイプを作成した。続いて、jsonファイルをやり取りする方法を検討する。C++向けのjsonパーサとしてはjansson,picojson等いろいろあるのだが、janssonが直感的でAPIリファレ…

pythonからC++を呼び出して、jsonファイルをやり取りする①

背景 新しいデータベースの形としてjsonを採用した jsonといえばpython 過去資産はC++で書かれているし、bit精度を考慮するとC++を使いたい というようなせめぎあいの結果、とりあえず方式を調査することに。 あとで絶対わからなくなるので、ここにまとめる…

クラスに関して③:仮想関数と完全仮想関数

たまに関数の頭にvirtualがついているのを見かけるので、それの内容。 仮想関数 cpp-lang.sevendays-study.com を参考にちょっと変更したコードを作成。 bird.h #ifndef __BIRD_H__ #define __BIRD_H__ #include <iostream> #include <string> using namespace std; class CBir</string></iostream>…

クラスに関して②:コンストラクタとデストラクタ

クラスの特殊なメンバ関数としてコンストラクタとデストラクタがある。 コンストラクタ クラスをインスタンス化するときに自動的に呼ばれる。先の例ではコンストラクタの記述をしていないが、その場合デフォルトコンストラクタが呼ばれる。コンストラクタは…

クラスに関して①:基本的なところ

クラスの話。これも今更感があるけどメモ。 構成 基本の基本から。とりあえず”人”クラスで、年齢・身長・体重をprivateに、これらをセットする関数とゲットする関数を用意。 ファイル 内容 man.h CManクラスの定義 man.cpp CManの実装 main.cpp CManの利用 …

C++あれこれ

今更感があるが、C++のいくつかの内容についてまとめておく。 関数のオーバーロード 例えば、以下のようなint型の引数2つの平均値をint型で返す関数を考える。 int average(int a, int b) { return (a+b)/2; } Cでは、float型同士の平均を求めたい場合には新…