
|
xvii
はじめに
読者が経験豊富な C++ プログラマであり、また著者に似たところがあるならば、まずは C++11 流
の考え方で取り組むでしょう。「はい、はい、分かった。C++ でしょ。C++ らしくね。」しかし、学び
進めるにつれ、C++ が進化した部分の多さに驚くことでしょう。auto 宣言、範囲 for 文、ラムダ式、
右辺値参照は C++ の様相を一変させましたし、新たに追加された並行性については言うまでもあり
ません。イディオムにも変化があります。0 と typedef は、それぞれ nullptr とエイリアス宣言に
取って代わられました。enum も今やスコープを持つようになり、組み込みポインタよりも好ましい
スマートポインタもあります。また、一般に、オブジェクトはコピーするよりもムーブした方が良
いでしょう。
C++11 には学ぶところが多くあります。C++14 については言うまでもありません。
さらに重要なことは、新機能を効率的(effective)に活用するにも多くのことを学ぶ必要がある
点です。「現代(modern)」の C++ 機能を基礎から始める情報源は沢山あります。しかし、新機能を
活用した、正しく、効率良く、保守しやすく、可搬性も備えたソフトウェアを開発するための高度
なガイドはなかなか見つかりません。そこで本書が必要になります。本書は C++11 と C++14 の機能
を並べるものではなく、その効率的な活用法を解説するものです。
本書で述べる内容は、項目(Item)という単 ...