g++ xxx.c -std=c++11
int v[]={1,2,3,4,5};
for (auto a:v) cout << a << endl;
for (auto a:{1,2,3,4,5}) cout << a << endl;
int v[]={1,2,3,4,5};
for (auto& a:v) ++a;
double* p = nullptr;
のように使う。0やNULLでなくてnullptrを使うことを推奨。整数との混同を避けられる。int i = nullptr; // ERROR. nullptrはポインターであり、整数ではない。
static_assert(4<=sizeof(int),"integers are too small.");
int i = 0;
といったとき、 i は名前付きのオブジェクトで左辺値。 0 というリテラル値は右辺値である。
TEST
git config --global user.name "Kazuya Aoki"
git config --global user.email "ka@example.com"
~/.gitconfig にあなたの情報がかかれる。これが登録されていないと、 お前はしらない、とおこられる。名前が示すとおりホームディレクトリにおかれる。 (globalが意味するところ。)
プロジェクトのルートディレクトリで、
>git init
とする。
>git add index.html
>git add contents.html
>git commit -m "add in hello world HTML"
とすれば、index.html, contents.html を staging area に持っていき、続いてコメントをつけてコミットすることができる。
add は初めてファイルをリポジトリに追加するときだけでなく、
いつでもその変更をコミットしたければ必要である。
リポジトリにあるファイルを変更しても、add してからcommitしないと、
変更されない。
>git commit -a
とすれば、add を省略して commit することができる。 (もちろんRepository に登録されているファイルの更新に限る)
>git status
>git log -1
>git branch RB_1.0 master
master branchから、RB_1.0 (Release branch) を作る。
つくるだけで、現在のBranchからは移動せずそのまま。
>git checkout RB_1.0
とすると、新しいブランチに移動できる。
コンパイル時にできた .o ファイルや、実行ファイルは
リポジトリに登録したい人はいないだろう。このような無視したい
ファイルがある場合は、
.gitignore
というファイルをつくり、そこにファイル名を記述する。ワイルドカードも使用可能。
.gitignore の内容の例
*.o
*~
>gitk
Depotという名の場所に共用のリポジトリを設定する習慣である。 仮に/tmp/Depotという場所に作るとする。 git init を使って~/public_html ローカルに作ったリポジトリから、/tmp/Depotへ 共用のリポジトリをつくるには、
>cd /tmp/Depot
>git clone --bare ~/puiblic_html public_html.git
git remote add origin /tmp/Depot/public_html
(.git)はつけなくてよい。
git remote update
git pull
>cd my_proj
>git clone /tmp/Depot/public_html