ちょっとだけ勉強したので。
もう使わないかもしれないけどメモ。
pointerの*ってどこにつける?
int* hoge_ptr;
int *hoge_ptr;どっちでも良い。
流派があるらしい。
複数指定するときに
int *a, *b;ってなるから後者を使いたいような、でもそういう型だよって見るなら前者の方が正しそうな(ありがとう のたぐすさん)。
const charのpointerはどこを指してる問題
//[const char] *hoge_ptr
const char *hoge_ptr;
//[char] const fuga_ptr
char *const fuga_ptr;みたいな感じで 「* より左のもの」のpointerと考える。hoge_ptrが指しているのは constなcharで、const fuga_ptrは charのpointer。
constexpr関数
error: 'constexpr int hoge()' used before its definitionこのエラーに見舞われた。
constexpr int hoge();int hoge(){
constexpr return 1;
}としていたが、これだとHoge.hの宣言の段階でhoge()が使われてしまうことになるので、Hoge.hを以下のように変更する。
int hoge(){
constexpr return 1;
}