ちょっとだけ勉強したので。
もう使わないかもしれないけどメモ。
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;
}