The c++ training repository. I have c++98, c++11, c++14. c++11 is recommend. c++14 is good.
c++ と一口に行っても、現在のc++にはc++98, c++11, c++14といったバージョンの違いがあります。 c++98 より c++11 のほうが, c++11 より c++14 のほうができることが多く、良い機能になっています。 できることが多いからと言って避ける必要はないです。 c++98ではかなり面倒な書き方をしなければならないところが簡単に書けるようになっていたり、標準ライブラリの機能が強化されていたりもします。
現在みなさんが使っている ROS Kinetic Kame
は 標準で c++11
に対応しています。ですので、ひとまずは c++11
を主軸に勉強すると良いでしょう。 c++14
も Ubuntu16.04 を使っていれば何もすることなく使用することができますし、指定すればROSのプログラムにc++14を使うこともできます。
main.cpp
というファイルがあるとして、これをコンパイルします。
g++ -o main main.cpp
使い方は gcc
と同じです。オプションも同じです。
先程の main.cpp
を c++11 を有効にしてコンパイルします。
g++ -std=c++11 -o main main.cpp
オプションに -std=c++11
をつけるとc++11の機能を有効にしてコンパイルします。
同様に -std=c++14
をつけると c++14の機能を有効にしてコンパイルします。