本の虫

著者:江添亮
ブログ: http://cpplover.blogspot.jp/
メール: boostcpp@gmail.com
Twitter: https://twitter.com/EzoeRyou
GitHub: https://github.com/EzoeRyou

アマゾンの江添のほしい物リストを著者に送るとブログ記事のネタになる

筆者にブログのネタになる品物を直接送りたい場合、住所をメールで質問してください。

C++参考書、C++11/14 コア言語を9月に出版予定

C++11/14のコア言語の参考書。「C++11/14コア言語」が出版社ドワンゴ、販売KADOKAWAとして、9月に出版される。内容は、以下を書籍にしたものだ。内容としてはすでにすべて読むことができる。

EzoeRyou/cpp-book

EzoeRyou/cpp14-appendix

アマゾンには情報が掲載されたようだ。

Amazon.co.jp: C++11/14 コア言語: 江添 亮: 本

紙の本の他にも、KindleとepubとPDF版も現時点で出す予定だ。また、もちろん本のソースコードも公開される。

ソースコードは、Markdown形式だ。もともとこの本はXHTMLで手書きされたが、それでは扱いづらいため、これを一度Markdownに変換した上で修正し、pandoc経由でtexに変換してから各フォーマットを生成している。不自由なフォント以外のソースコードは公開できるだろう。

本の帯に書く短い説明として、「他の解説書ではわからないC++コア言語の詳細を不必要なまでに解説」などと冗談で言ったら、本当に採用されてしまった。本の内容は、通常C++を書くのであれば、まず書かないだろうコードが合法かどうかや、その意味まで解説している。規格としては、コードは合法か違法かを規定しなければならず、また合法の場合は、その挙動も規定しなければならないからだ。

例えば、クラスやenumは名前は、変数やデータメンバーの名前によって隠されるという規程がある。

class ClassName {} ;

void f()
{
    ClassName ClassName ; // OK、ClassName型の変数、ClassName

    ClassName x ; // エラー、ClassNameは、ここでは変数名を指す。

    class ClassName x ; // OK、明示的にクラス名であると指定している。
}

クラス名を変数名で隠すこのようなコードは、現実ではお作法的に推奨できないが、規格上は合法である。

この参考書は、このような些細な、現実的な実務で使うコードには推奨できないような例も多い。規格上は興味深いが、それを知っても日々のコーディング力にはあまり貢献しないような些細な詳細が書かれている。

ドワンゴ広告

出版社はKADOKAWAとなっているが、販売がkADOKAWAで、出版はドワンゴが行う。組版などの作業はドワンゴ社内で行われた。編集者は私の席のとなりに座っていたため、極めてやりやすい。しかし、出版社が私の雇用主で、編集者が同僚というのはなかなかない環境ではなかろうか。

ドワンゴは本物のC++プログラマーを募集しています。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0