C++本 - 人気 / 新書 / 高評価 書籍一覧 | 技術書の本だな


C++ 人気本 ランキング

人気 1位
本書の内容
 
内容サンプル
 
User Voice
この本の400ページあたりまで理解しながら読み進めて現在ソフトウェア開発やっています。

柴田さんの本は他の本に比べてかなり丁寧めに書かれているので、
軽い本が苦手な人にとってはとても良いと思います。

私はC言語の方も柴田さんの本を読んでいて、そちらも中級編まで読んで研究室で通用してました。

基本情報処理ももっているのですが、これをやってれば応用情報のアルゴリズムまでは普通に戦えるレベルになると思います。
私は組み込み系ソフト開発を行ってきましたが今年からC++を使って開発を行うことになりました。
クラスの概念を学びたく書籍をさがしていたのですが、本書を選んだ理由は大学生の時に授業で本シリーズのC言語版で学んでいたためです。私はクラスの章以外は流し読みでしたが、基本を学ぶためには本書で十分だと思います。
新・明解C言語 入門編 (明解シリーズ)」を終えたため、本書を手に取りました。本書においては、あくまでC言語を前提としない姿勢を取ってはいますが、C++という巨大な言語の触りを一冊で扱おうとしている分、オブジェクト指向とは関係のない、言い換えればC言語から引き継いでいる文法の説明が些かおろそかになっています。乃ち、ただ事実だけが述べられていたりと、「新・明解C言語 入門編」に比べて厳密さという点では劣ります。そのため、リファレンスとして使うには、やや一般性に欠けるという印象がありました。また、これは本書に限らない話なのですが、C++の解説サイトはC言語の解説サイトに比べて持論を展開しがちであるため、Standard Documentを参照することがより重要となってきます。(Standard Documentは標準規格を定める文書です。日本語版は調べたことがないので分かりませんが、少なくとも英語版のdraft(草稿)は公式にインターネット上で読むことができます。)

内容としては、「新・明解C言語 入門編」と同じく、至って簡単に読めるようになっています。ページ数が500強と比較的大きいのですが、後半で扱っているのは主に「クラス」であるため、Javaを始めとするオブジェクト指向言語を学んだことがもしあれば、想像よりも短時間で読み切ることができます。私はJavaやPythonを既知としていましたが、丁度4日で読了となりました。

なお、本書では、オブジェクト指向の重要概念である継承や多様性が一切扱われていません。「入門編」とは銘打っているものの、本書だけでは入門にすらなりません。C++を一通り学ぶ上では、例えば「新版 明解C++ 中級編 (明解シリーズ)」も読む必要があると言えます。こちらでは、本書の続きとして、継承や多様性、クラステンプレートなどが扱われています。(実際にはこの本は「新版 明解C++ 入門編 (明解シリーズ)」の続刊です。新・明解シリーズとしては、中級編は未だに出版されていないようですし、明解シリーズの入門編と中級編の刊行日時が数年開いていること、及び本書の初版が2017年の暮れに発行されたことを踏まえると、中級編がすぐに世に出ることは無いように思えます。)因みに、中級編で扱われている内容は、初級編で扱われているクラスなどに比べて習得難易度が特に高いわけでもありませんので、中級という言葉を聞いて身構える必要はありません。むしろ、これらの内容をそれぞれ別の書籍に分けているケースの方が少ないです。

総合して、「新・明解C言語 入門編」によるC言語の導入を前提とするならば、本書は良著だと思います。詳しく知りたい場合は前述のStandard DocumentやStack Overflow(全世界版)を参照することができますし、何より著者が同じであるということが大きいです。体裁を含めて、一貫性が極めて高いです。逆に、一冊でC++の基礎を学び終えることができ、読了後もリファレンスとして活用できるような本を欲している場合には、他書をおすすめします。日本語のものでは、訳書を含めても、入門レベルでかつそのような条件を満たすC++の本が無いように思えましたが、英書で探せば見つかるかも知れません。
 
   
人気 2位
本書の内容
本書は、1991年の初版以来、C++プログラマから絶大な支持を得て
きた『Effective C++』の、内容を新たにした改訂第3版の翻訳書です。第3版に
おいても、C++の効率的な使い方を紹介するのが、変わらない本書の目的です。
C++プログラムを理解しやすく、保守しやすく、移植性をあたえ、拡張しやすく
するために、55個のガイドライン(アドバイス)をもうけています。すべて
の項で、よりよいデザインを考え、よくある問題を避け、自分の期待通り
に動く、より効率的なプログラムを書くためのガイドラインが示されています。
さらに著者は、「2005年(原著第3版発行)の今、C++プログラマにとって、
もっとも重要なアドバイスは何だろうか」という問いをたて、その要求にも
十分に答えています。リソース管理、テンプレートを使ったプログラミングに関
する章を追加し、例外の存在、デザインパターンの適用、TR1という新しい項目
に関する解説も加えました。すべてを初めから組み立てなおし、実際に半分以上
が新しい内容になっています。

本書を活用することで、読者は「C++の動作について深く理解する」ことが可能
になり、今まで以上にC++のプログラムとデザインに改良を加えられるようにな
るでしょう。
 
内容サンプル
 
User Voice
C++である程度コーディング経験がある人を対象にしているコーディングスタンダードの解説本です。

コーディングスタンダードの列挙とその解説を9章55項目でC++の中で活用頻度の高い、言い換えれば汎用的な項目から解説しています。この本の構成の良いところは章を超えて「この項を前提している」「この項を拡張すると」というように汎用から応用へ項目が進むため、順に読んでも気になる項目から読んでも読み物として成立することでしょう。

全体の印象としては、解説だけでは納得しにくい内容もサンプルコードにより「こうしないとこういうときに困る」と挙げて実証して裏を取る手法が多く用いられています。サンプルコードは部分的かつ抽象的なためそのまま貼り付けて動かせる類いの物ではありませんし、その項目を説明し易い例示であるため例示コードの分野も様々です。しかし項目を理解しやすくするために良く練られた例示が示されていると思います。

内容の鮮度ですが、C++11どころかC++0xの組み込み時の内容なので最新の情報を得ることはできません。しかし最新の情報をどのように得るべきかは最終章に書かれています。この本が規格に対して鮮度が足りないにもかかわらずそれでも出版されたのは最新の規格においても変わらないC++のコーディングスタンダードが多く記載されているからということでしょう。最新の情報はWebで知ることができますし、そしてそれは大抵この本の内容を実践することがより楽になっているだけのことです。
私は一通り入門書を読み、ある程度のプログラムを書くことができたので、更なるステップアップを目指して本書を購入しました
本書はC++をクラシカルなC言語の部分、オブジェクト指向C、テンプレートなど大きな区分けをした上で各項目についてどのようにコーディングすれば安全で保守性のあるプログラムをかけるかということを説明することに始終しています
ひとつコーディングの型を提唱し、それに対し根拠を詳しく述べるというスタイルによりすっと理解することができました
例は抽象的でそれ自体はビルドできないものなので、冗長になることのない点も非常に好印象でした
部分的に誤字脱字が見つかりましたが読みにくい訳がなされていることはあまりなく、メイヤーズ先生のユーモアも伝わってきたこともあり、気張らずに楽しんで読むことができると思います
私は10日ほどで一通り読んでしまいましたが、ゆっくり何度も反芻したいと感じさせられますから、これからもお世話になると思います
最後に、最低限の文法くらいは理解していないと宝の持ち腐れになってしまうと思います(誰もが薦める良書ですが入門書やマニュアルではありません)
C++のほぼ初心者ですが、仕事で早く使いこなさなければならないため、本書を手に取りました。
CやJava、PHPはそれなりに経験があるのですが、C++特有の挙動について書かれた章が多く読むのは大変です。
しかし仕事で使えるレベルのC++の情報が書かれており、評価も高い数少ない書籍なので苦労してでも読むべき本であると考えます
結論が後に来る形式なのですが、最初に読んでおいて何を言いたいのかを理解してから読むと多少難易度が緩和されます。
また、まとめに入らないような上級者向けの考察はすっ飛ばしてしまってもいいと思います。
まずは読み切ることに注力して楽しいC++ライフを始めましょう
 
   
人気 3位
本書の内容

最高の翻訳で贈るC++のバイブル!!

C++のバイブル(第4版)、ついに刊行。
C++の開発者ストラウストラップがC++11の全貌を完全解説。
翻訳は、名著『新・明解C言語入門編』『新版明解C++入門編』の著者 柴田望洋。
本書を読まずしてC++は語れない。
すべてのC++プログラマ必読。

▼本書の構成

第I部 はじめに
第1章 本書の読み進め方
第2章.C++を探検しよう:基礎編
第3章 C++を探検しよう:抽象化編
第4章 C++を探検しよう:コンテナとアルゴリズム編
第5章 C++を探検しよう:並行性とユーティリティ編

第II部 基本機能
第6章 型と宣言
第7章 ポインタと配列と参照
第8章 構造体と共用体と列挙体
第9章 文
第10章 式
第11章 主要な演算子
第12章 関数
第13章 例外処理
第14章 名前空間
第15章 ソースファイルとプログラム

第III部 抽象化のメカニズム
第16章 クラス
第17章 構築と後始末とコピーとムーブ
第18章 演算子の多重定義
第19章 特殊な演算子
第20章 派生クラス
第21章 クラス階層
第22章 実行時型情報
第23章 テンプレート
第24章 ジェネリックプログラミング
第25章 特殊化
第26章 具現化
第27章 テンプレートと階層
第28章 メタプログラミング
第29章 行列の設計

第IV部 標準ライブラリ 853
第30章 標準ライブラリの概要
第31章 標準ライブラリの概要
第32章 STLアルゴリズム
第33章 STL反復子
第34章 メモリと資源
第35章 ユーティリティ
第36章 文字列
第37章 正規表現
第38章 文字列とストリーム
第39章 ロケール
第40章 数値演算
第41章 並行処理
第42章 スレッドとタスク
第43章 標準Cライブラリ
第44章 互換性

 
内容サンプル
 
User Voice
C++の生みの親・ストラウストラップ自身が執筆した、C++言語の仕様書。
この本を初めて見た人は、1000ページをも超える分厚さとその中に示されている、C++の多機能性に狂気を覚え、やがて本書を凶器として誤った使い方をしてしまう・・・・様なことは無く、案外すんなり読めるものである。
それだけ丁寧に書かれている。
ただ読者対象はC++初心者ではあっても、少なくても他の言語・特にCやJavaなどを経験した人じゃないと、やっぱり狂気に走り、本書は凶器と成り果ててしまうだろう...。
C++はオブジェクト指向言語であり、使いこなせると、クラスというとてもありがたい恩恵受けることになるが、兄貴分であるC言語をあまりに武装してしまったが故に、習得がとても難しい言語となってしまっている。
つまりプログラマー上級者向けの言語と言える。
だから本書はVBを少しいじった事がある程度のプログラマーには、ちょっと敷居が高いものとなってしまうだろう。
そしてこの値段・・・。
やはり狂気と凶器しか残らないかもしれない。
初心者はとりあえず第1章を読んでおおまかな流れをつかむ。
中級・上級者はしっかり読み込む。
さらにはリファレンスにも使える。

2018年の今となってはちょっと古いともいえますが、
それでもModern C++を勉強する・使ううえでは欠かせない書だと思います。

柴田望洋先生の日本語訳もよく、この手の本の日本語版としては非常に読みやすいです。
Kindle版を購入したが最悪だった。
・拡大縮小ができない
・見開き表示を選択しても1ページ単位でしか表示できない
など、見るに堪えないレイアウトです。
他のKindle書籍ではこれらの表示は可能なので、データの改訂を望みます。
半額程のポイント付与に惹かれてKindle版にしましたが、それだけ値引きをするだけKindle版は出来が悪いということですね。
この手のリファレンス本は、書籍で買うべきだと後悔しました。
 
   
人気 4位
発売日 2019/11/11
(3.8)
Amazon 3,718円 Kindle 3,532円
本書の内容

標準教科書がC++17に対応し、
完全書き下ろしリニューアルで9年ぶりに新登場!

システム開発者、ゲームプログラマーをはじめ、
すべてのC++学習者、待望の解説書。

boostコミッターの著者により、
旧版の特徴である「扱う内容の深さは」そのままに、
より自然でわかりやすい解説に完全リニューアルしました。

言語仕様の初歩から標準ライブラリの基礎まで、
より丁寧で、より詳しい解説となった一冊です。

===目次===
- 第1章 C++の基本的な言語機能(1)
- 第2章 C++の基本的な言語機能(2)
- 第3章 クラス
- 第4章 分割コンパイル、ビルド
- 第5章 配列、ポインター、右辺値参照
- 第6章 演算子オーバーロード
- 第7章 継承
- 第8章 入出力システム
- 第9章 テンプレート
- 第10章 例外処理
- 第11章 実行時型情報とキャスト演算子
- 第12章 データ構造とアルゴリズム
- 第13章 文字列処理

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
今月出版のモダンc++の参考書ということで、気になって購入しました。結論から言うとかなり良書です。

ざっくりした感想としては期待通りモダンなc++の機能を体系的に学べる良い参考書だと思います。次郎系ラーメンのような超ボリュームですが、問題演習やサンプルコードなどを毎回出してくれてるので、しっかり手を動かして学べばかなり力が付きそうな印象です。
あとサンプルコードが頻繁にクラス単位で纏められて出てくるのでVisual Studio 2017でコーディングしてる自分にはソースを何回も上書きして写経しなくていいので地味に嬉しいところです。クラス追加するだけで動作確認が出来るので。
(つまり基本的な.cpp, .hファイルの分割法やクラスの作り方や性質を知っていた方がスムーズに学習できる)

説明文は丁寧かつ厳密さを重視しているようでこれが分かりやすいかと言われると人によると思います。初めて出てくることも割とあっさりした説明が多いので、冒頭でも言われてることですが「これはこういうもの」と納得して一回で覚えようとしない方が挫折しにくいと思います。

本当の入門者向けではないと思います。基本的なことは割とサラッと触れられる程度です。「やさしいc++」とかで簡単な文法を勉強し、オブジェクト指向に関して「スッキリわかるJava」(他言語ですが文法や構造が似ている?)とかでである程度勉強してからこの本に行くとスムーズに学習が進むと思います。

あと他の方も言われてますが誤植多いです。まだ出版されて間もないのでしょうがないですが、正誤表に載ってない誤植もしばしば出てくるので正誤表、お問い合わせを活用して第2版が出ればいいなと思いました。
全体的にとてもまとまった良い教科書だと思います.
ただ,本文,プログラム例,実行結果ともに誤植が非常に多いです.自分で誤りに気づけるぐらいの理解力がないと混乱します.
 
   
人気 5位
本書の内容

※この商品は固定レイアウト型の電子書籍です。

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

※お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。





オンライン・ジャッジシステムでプログラミングをはじめよう!
「オンライン・ジャッジシステム」といわれるプログラムの自動採点システムを用いてC/C++プログラミングの基礎を学習します。ゲーム感覚で学習が進められますので、モチベーションを維持しながらプログラマとしての基礎体力を身につけることができます。内容も敷居の高いものではなく、プログラミング初学者が取り組む問題からスタートしています。会津大学のオンライン・ジャッジシステム(AIZU ONLINE JUDGE)のコース問題を題材にした公式解説書です。http://judge.u-aizu.ac.jp/onlinejudge/ 

■CONTENTS
≪Ⅰ部 学習の準備≫
1章 プログラミング/2章 オンラインジャッジ
≪Ⅱ部 プログラミング入門≫
3章 基本構造/4章 変数/5章 計算(1)/6章 入出力/7章 計算(2)/8章 構造文:条件分岐/9章 構造文:繰り返し処理/10章 変数(2)/11章 プログラムの構造/12章 配列/13章 文字列/14章 ライブラリ/15章 構造体とクラス
≪付録:演習問題模範解答≫  
内容サンプル
 
User Voice
特に何が悪いということもないが、おすすめできる点はない。
(ある言語の)入門書などをよんで実際にウェブアプリ開発をしようとしても入門本を読んだだけでは基礎レベルだけです。
そこで入門書の次にやるべきことを探すわけですが、自分は競技プログラミングで実際に手で動かしてみる、具体的にはAOJで競技プログラミングの入門編、過去問編、コンテストに参加してみることだと思います。
前置きが長くなりましたが、
C++は何でもできる言語の一つです、なんでもできるので覚えることはたくさんありこの言語一つ取得するだけで数年はかかります、アルゴリズム等の勉強だけしたいのに時間を取られてしまっては本末転倒なので、競技プログラミングに必要な言語部分だけを覚えるの最適だと思って購入しました。

実際、現在競技プログラミングはコンテストの終了後Youtubeで解説実況動画が見れたりしますが、それはC++で解説していました。(AOJ)他言語でPython、Rubyで参加するのもいいですが、いちいち翻訳したりするよりもC++を覚えてしまって学習するほうが効率がいいと思います。
 プログラミング未経験者を対象とした極めてオーソドックスな「C++を用いたC言語入門」。情報系の大学の先生の書いたシンプルなプログラミング入門で、中高生から年配の読者にまで幅広く対応できそう。レベル的には初歩の初歩、C/C++のコアの部分を簡潔に記している。

 「オンラインジャッジ」とは、ソフトウェア開発におけるテスト機能をWEBアプリケーション化したもので、プログラミングコンテストやプログラミング教育に活用されているもののようだ。「AIZU ONLINE JUDGE」は会津大学が提供しているオンラインジャッジシステムで、誰でも無料で利用することができる。本書は、そのAOJ内に用意されている「Introduction to Programming」コースの課題に沿ってC/C++によるプログラミングについて教授していく、という趣旨。

 本書の内容は、著者の一般向け公開講座のテキストや大学の演習の課題、等をもとにしたものなのだか。ワリと厚いが、厚い紙を使っているせいで、実質200ページ程度とプログラミング関連書籍としてはかなり薄い。ただし、「言葉を省き過ぎ」ということではなく、多くの入門書ライターの視点とはやや異なる情報系の先生らしい表現も散見され、それがなかなかいい感じ(笑)。「Cの壁=ポインタ」に関する踏み込んだ解説がない等、もの足りない部分もあるにはあるのだが…。

 尚、続編として『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』(渡部 2015年 マイナビ)(AOJの「Introduction to Algorithms and Data Structures」コースの内容に対応)も刊行されている。
 
   
人気 6位
本書の内容
 
内容サンプル
 
User Voice
コンピュータのアプリソフトを作るには、超えなくてはいけないハードルがいくつもあり、特に数学の関数や16進数の意味がしっかりとわかっていないとプログラムは作れない。
この本はかんたんと書いてあるけれど、じつはプログラムの本の中では簡単な方だが、c++言語はかなり難解なものである。
素人が手を出すと金の無駄になる。場所もとる。でも、ちゃんとプログラマーを目指すなら読んでおいても、損はないと思います。
まだ、全部マスターしたわけではありませんが、
タイトルにあるように”かんたん”です。
これだけで、VC++を作れるとは思いませんが、
ソースを読むのはたいへん難しいです。
ありがたく大変役に立っていて、業務でとても助かったいます。ありがとうございます。
 
   
人気 7位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 8位
本書の内容
【本書について】
2015年3月にゲームエンジンUnreal Engineが無償化され、その後多くの開発者が利用するようになりゲーム以外への利用も増えてきました。
Unreal Engineで標準的に使われるゲームロジック構築ツールは、Blueprintです。Blueprintはさまざまなゲームの開発に向いたビジュアルプログラミング言語で、とっつきやすく、同時に、高い機能、高い開発効率を持ちます。
一方で、Unreal Engineの利用範囲が広がるにつれてBlueprintですべてのロジックを組むのが困難、あるいは、不可能な開発案件も増えてきています。

このような場合でも対応できるよう、Unreal EngineはC++によって機能を拡張する仕組みを持っています。
ただ、Unreal EngineのC++は標準のC++から独自に拡張されているため、前提知識のないC++プログラマにはハードルが高いのも事実です。 Unreal Engine独自に拡張されたC++については、公式ドキュメント、Wiki、掲示板、あるいはソースコードなどから情報を得ることで習得できます。しかし、必要な情報があまりにも分散してしまっています。そのためUnreal Engine C++初心者にとってはどこから手を付けていいのかわからない。それが今の状況だと思います。

本書はそのようなUnreal Engine C++初心者や挫折してしまった方に、Unreal Engine C++の最低限の知識を身につけてもらうことを目的に書かれています。

【対象読者】
本書が対象とするメインの想定読者は、「Unreal Engine にはあまり慣れていないC++プログラマ」です。
Unreal Engineを少し触ってBlueprintも描いたりしたけれどエキスパートというほどではない、でもC++でなら多少の開発経験はある、というような方を想定しています。
また、Unreal Engineでアプリ開発を行ってきたがBlueprint に限界を感じ、C++での開発もやってみようかな、という開発者にもおすすめします

【開発環境】
開発OSにはWindowsおよびmacOSを想定していますが、基本的にはWindowsでの開発を主体に記述します。

【前提知識】
(a) Unreal Engineに対する基礎知識
(b) UE4Editorの基本的な操作方法
(c) オブジェクト指向への理解
(d) 多少のC++プログラム開発スキル

本書の説明の中で「クラス」や「参照」という言葉は使いますし、総称型(ジェネリクス)も利用しますので、それらが何者かがわかっているほうがよいとは思います。レベルの目安としては、「C++11以降のSTL機能を利用したことがある」というところでしょうか。

【本書の構成】
Chapter1 本書を読む前に
Chapter2 Unreal Engine基礎知識の確認
Chapter3 UE C++の概要
Chapter4 UE C++オブジェクト
Chapter5 UE C++ライブラリ
Chapter6 標準C++との連携
Chapter7 プラグイン
Chapter8 エディタプラグイン作例
Chapter9 OpenCV利用プラグイン作例
Chapter10 エディタモード追加プラグイン作例
 
内容サンプル
 
User Voice
UE4で開発を進める上で、ブループリントでは賄えない高速処理や、各コンポーネントの機能拡張をしたい場合は、C++による実装が必要になってくる。
UE4で主に使用するC++は、UE独自に拡張されたものであり、利用するにはきちんと様式に従わないと正しく効果的に利用できない。
(例:BluePrintから呼び出せるようにしたり、ガベージコレクションの対象にしたりする場合は、マクロを呼び出す必要がある。テンプレートで自動生成されたクラスのメソッドにもいくつか注意点もある。)
これらを的確に使うための指南をまとめたのが本著。

最終的にプラグインを独自制作できるまでを目標に、一部のUEの基本クラス、APIの使い方を解説してくれている。
基本的なデータ型、マクロの解説などから、非同期・並列処理、スレッドセーフ、標準ライブラリなどとの連携まで言及してくれている。

UE4の膨大な機能、クラス群の中から、一部を掻い摘んで紹介しているので物足りなさは否めないが、これからUE4でC++を使っていこうとする人には、現時点(2018/06)ではUnityより断片的かつコーディングに関する情報量が少ないなかで正解の技術を今後蓄積していくための良い足掛かりにはなると思う。

C++はそこそこ知っていて、UE4で初めてC++導入するレベルの人には、満足する内容だと思います。
若干の駆け足感がぬぐえないのと、他の方もおっしゃってるブループリントイベントグラフの画像の小ささが気になりました。

-----------------------

以下のことを学ぶことができる。

・UE C++オブジェクト
 クラス、構造体、列挙型
・マクロ
 UCLASS():UEライブラリと連携させる
 GENERATED_BODY()
・プロパティ
 UPROPERTY():
  ブループリントやレベルエディタから利用できる設定やアクセスコントロールを定める
  ガベージコレクションの対象にする
・コールバック
 動的マルチキャストデリゲート
 BluePointイベント
 BluePoint関数
・GC対象にするインスタンスの生成方法、スマートポインタ:安全なメモリ管理
・UE C++ライブラリ
 UObject
 AActor
  アクタ定義
  アクタコンポーネントの定義、生成の実装
 アセットからオブジェクトの読み込み
・非同期・並列処理
 スレッドプール
  TaskGraph
  ThreadPool
 非同期
  Async関数
  AsynkTask関数
  PararelFor関数
  ロック
・標準C++との連携
 標準ライブラリ、既存ソース、静的ライブラリ、動的ライブラリの利用
・プラグインの作成方法
・プラグイン作成例
 ファイル入出力プラグイン
 OpenCV利用プラグイン
 レベルエディタのモード追加プラグイン

以上。
Chapter5くらいまでかなり冗長で同じことがダラダラと書かれている。
Enum Struct Classでの使う際の所作など表にでもまとめて1ページで終わらせてくれたらよいのに何ページも使ってわかりにくい。
C++の解説とかも全く余計。それこそ必要な人はググるなりして調べたら済む。
UE4の説明なのか一般的なC++の説明なのか紛らわしい文章が多く読みにくい。
解説に図がよく入っているが、何を意味しているのか意味不明な図であったりわざわざ図にする意味が感じられない。
中盤以降になってVSでファイルを追加してもUE4のフォルダでないといけないという、乗ってるサンプルを試すためにも重要なUE4独自ルールが書かれていたり。
この本を読む前にEpicのサイトのC++開発のチュートリアルを少しでもやっておくと大分違うでしょう。
【とはいえ】
ここ重要ですが、UE4 C++の開発はC++とは違う独自ルールや求められる所作がやたら多い。
にもかかわらず日本語で書かれたUE4のC++本は未だこの一冊だけ(2019/3/31現在)です。
それだけ明文化しにくいという事の証左でしょう。
この本は、(コーディングに関してだけですが)独特なルールについてちゃんと説明してあります。
pluginやModule化や別途開発したC++のライブラリを組み合わせる方法についても書かれてあり、
私には結構重要な所まで丁寧に書かれた貴重な本だと感じています。
まぁちょっと初心者じゃ、C++についていけない内容。
Blueprintに迷ったら、再び挑戦したいと思う。
 
   
人気 9位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

絵で見てわかるC++の定番書がリニューアル!

翔泳社絵本シリーズの定番ライナップ『C++の絵本』が新しくなりました。
オブジェクト指向を含むC++言語には苦手意識を持つ人も多いものですが、
本書はイラストを多用し、短い単元で内容をまとめて、分かりやすく
解説していきます。

「C++で何か作ってみたい」「本格的言語をマスターしてみたい」という方の
要望にも十分こたえられる一冊です。オブジェクト指向の概念や最新のC++の
機能もフォローし、プロでも通じる本格的プログラミングの世界に一歩を
踏み出していただけます。

【翔泳社の「絵本」シリーズのラインナップをアップデート】
翔泳社の「絵本シリーズ」は名前のとおり、絵本のように豊富なイラストと
要点を押えた簡潔な解説でコンピュータ技術に入門できる初心者向けの
シリーズです。すべての単元を2ページ単位で読みやすくまとめ、基礎に
徹した内容で、言語/技術の初心者や手軽に習得したい方のお役に
たてるようになっています。

このたび、翔泳社は「絵本シリーズ」を全面的に改訂し、内容を現在の
技術に合わせて見直しました。シリーズラインナップ全体をリニューアルし、
新パッケージでお届けします。

新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、基礎に
徹した内容というコンセプトはそのままに、Web/ネットが全盛となった
現在のコンピュータ技術の潮流に合わせた解説を心掛けます。『Cの絵本』
『Javaの絵本』を皮切りにラインナップを順次刷新、さらに新しい仲間を
増やしてラインナップを充実していきます。


※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
c言語は習得している前提で、c++へのステップアップの最初の1冊に最適だと思います。
イラストによる説明でほっこりした気分で、簡単に読み流していけます。
ロベールのc++入門は文章量から途中でイヤになってきたので、
こちらに浮気してざっくりとしたc++の全体の雰囲気をつかむ事ができました。
ロベールにまた戻ってみます
私は初版の方しか持っていないので2版を持ってた友達にパラパラ見せてもらいましたが、
C++11/C++14の内容(型推論auto、foreach文、ラムダ式など)が追加されたこと以外はあまり変わらないようです。
分かりにくい部分を図解化してとっつきやすくしているのでC言語の入門書を読んでC++にチャレンジしようという方にはお勧めだと思いますよ。

ただし、これを読み終えただけはC++の知識が薄すぎます。
読破後は「独習C++ 第4版」や「基礎からしっかり学ぶC++の教科書 C++14対応」などの参考書にシフトしてレベルアップするといいですよ。
確かに記載は簡単ですが、1回読破したら覚える。というようなものではなく、結局、この本を参考にしてでも、とにかくいじって慣れなきゃなりませんね。
簡易な辞書としてデスクに置いておこうかと。
例題はほんの少しなので、そういう本ではないです。
 
   
人気 10位
本書の内容
 
内容サンプル
 
User Voice
このライブラリについての数少ない書籍です。
 
   
人気 11位
本書の内容
【シリーズ累計100万部突破! 】
【(社)日本工学教育協会著作賞受賞★★★】

新たな飛躍をめざすプログラマのための決定


C++入門書の最高峰『新版明解C++入門編』の続編ついに刊行。
前著『入門編』では、基礎的なことから始まって、クラスまで学習が進みました。
本『中級編』では、オブジェクト指向プログラミングの核心へと話が進みます。
まずはクラスについて復習し、それから、派生・継承、仮想関数、抽象クラス、例外処理、
クラステンプレートなどを学習することによって、C++ という言語の本質や、
オブジェクト指向プログラミングに対する理解を深めていきます。
さらに、最後の三つの章では、ベクトル、文字列、入出力ストリームといった、
重要かつ基本的なライブラリについて学習します。

難解な概念や文法を視覚的に理解して学習できるように工夫して作成された、
152 点もの図表を掲載するとともに、例題として示すプログラムリストは208編にも及びます。

本書を読み解くことで、正確で実践的なC++のプログラミング能力を高めることができます。
C++を本当にマスターしたいユーザにとっての最高の解説書です。

▼本書の構成
第1 章 クラスの基本
第2 章 整数型とビット演算
第3 章 関数へのポインタ
第4 章 継承
第5 章 仮想関数と多相性
第6 章 抽象クラス
第7 章 多重継承
第8 章 例外処理
第9 章 クラステンプレート
第10章 ベクトルライブラリ
第11章 文字列ライブラリ
第12章 ストリームへの入出力  
内容サンプル
 
User Voice
同シリーズの入門編で詳しく触れられていなかったC++の基本的な機能・仕組みについて解説しているにすぎないように感じました。
中級編というより明解C++入門編その2という風に考えた方がいいです。

読者対象としては、明解C++入門編を読み終えた方、もしくはC言語について基本的な知識がある方で、
C++について新たに勉強を始める方などが当てはまっているように感じます。
中級者向け、脱初級者向けのテクニックが載っている書籍が欲しい方は、よく名前の挙がる他の名著を買われた方が間違いないでしょう。

説明自体は分かりやすいと思います。
各章ごとに段階を踏んで解説してありますし、サンプルのコードもそこまで長くないのでスッと頭に入ってきます。
ただ、中にはもうちょっと詳しく解説してほしいと思う部分もありました。
また道中にある演習問題については、答えや解説がないので書籍だけで完結できないこともありました。

誤字脱字については正直私はあまり気になりませんでした。
入門編が分かりやすかったので、本中級編も購入しました。
派生クラス、オブジェクト指向、テンプレートなどが、単なる表面的な解説だけでなく、その内部原理とともに詳細に解説されています。
ちなみに、著者のホームページbohyoh.comには、この本を含め、この著者の本の、かなりの部分がPDFでダウンロードできるようになっていますので、それを見てから購入しました。
なお、すべての本の全ソースプログラムもダウンロードできます。本書に関しては、分割コンパイルしないと動作しないものは、どのファイルを組みあわせるのかの指示が書かれたファイルも入っていました。私の環境では、すべてのプログラムが正しくコンパイルできました。
明解C++入門を学習した人は、こちらもやるべきです。
本来1冊で学ぶ内容を2冊に分けた構成になっているからです。
私のような初学者にも分かるよう丁寧に説明しているので、入門書として良い本だと思いました。
 
   
人気 12位
本書の内容
【シリーズ累計100万部突破! 】
しっかり習得できる信頼のロングセラー



プログラミング教科書のベストセラー、高橋麻奈の「やさしい」シリーズの『やさしいC++』を、新装丁+スッキリとした本文デザインで、より親しみやすく、より読みやすく改訂します。
プログラミング経験がなく、はじめての人にも、無理なくプログラミングの基本から学習してもらえるように、次の点を心がけています。

・読みやすい解説でスラスラ読み進められます。
・豊富なイラスト図解で、概念をイメージでわかるようにしています。
・たくさんのサンプルプログラムで、試して理解できます。

難しいと思われがちなC++プログラミングですが、基本文法からオブジェクト指向まで、とことん丁寧に解説していますので、はじめての人でも必ず習得できる書籍です。
 
内容サンプル
 
User Voice
何冊か入門書を読んだことがありますが、
説明がいまいち分かりにくいものがほとんどで
著者が自分に酔っているだけのようなものがありますが、
本書は説明も少なくとも私には合っていましたし、
1つ1つの事柄を簡潔に過不足無く書かれているので良いと思います。
他の本ですと、ページ稼ぎなのか分かりませんが、
ちょっと変えただけのものを何ページにも亘って写経させるものがありますから
そういうのは辟易します。
本書を読み終えて、独習C++ 4版辺りで中級者になれれば自分の思い描くプログラムが組めるのではと思います。
とてもわかりやすくC++大体の概要が学べます。
プログラミング言語自体、初心者の方は1~10のチャプターは復習を重点的にしたほうがいいと思います。
あとは「独学C++」お勧めします。
よりプログラミング言語を慣れるには小さいプログラムを書き続けることです。
今後はC++の「STL」→「テンプレート」→「boost」→「メタプログラミング」の順で学んでいく予定です。
#説明歌 やさしいよsampleソースコード付きVisual Studioコンパイル方法 ていねいで無駄な説明あまりないソースコードを書く人のため 自習するならこの本勧めます初めてC系言語する人 utf-8に最初に変換すLLVM使う人なら
 
   
人気 13位
本書の内容
効率性を柔軟性を兼ね備えたプログラミング言語として進化を続けるC++。本書は、次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説していく。プログラミング経験者を主要な対象としているが、解説を進めるに当たっては、その時点で学習した知識だけを利用して新しい知識を学ぶ方法(知識のブートストラップ)が意識されており、プログラミング初心者であっても新しい機能、知識の理解を無理なく行えるようになっている。C++の実行、デバッグ、基本的な文法、アルゴリズム、オブジェクト指向、テンプレート、メモリ管理、乱数など、C++による本格的なプログラム開発に必須の知識を網羅した本格的な入門書である。  
内容サンプル
 
User Voice
* 普通の入門書とは違う構成、考え方での内容。
* 入門書でありながら、大事なポイントを集中的に説明。
* シンプルな例文中心の説明

*まったくの初心者より、他の入門書を読んだ人にもっと向いているかも
(初心者向けの内容から中級的な内容への流れ)
最初本書を見つけた時、胡散臭い坊主頭のおっさんの写真がデカデカと載っていて、買うのをためらったが、
中身はかなり丁寧に解り易く書かれていて、良い買い物をしたなと思った。
ページ数は600ページを超える大作ではあるが、それだけ説明が丁寧なのである。
C++に携わるプログラマーは、どちらかと言うとプログラミング上級者(CやJava,Pythonなどを経験した人)が
多いと思われるが、本書はコンパイルやリンクの仕方から懇切丁寧に始まっており、プログラミング言語全くの
未経験者でもC++という上級向け高級言語に十分チャレンジ出来るように導いてくれている。
まさに仏様の様な本なのである。
さすが著者がご住職という事だけある(←嘘です。坊主頭の写真がインパクトありすぎて、言ってみたかっただけです。w)
初めての人に加え、思い出したり、最新の状況にキャッチアップするのにも最適だと思います。
さらっと読み通しただけですが、継承についての記述が無いですよね?それはそれで意図的だとは思います。
 
   
人気 14位
本書の内容
ロベールの部屋の「ロベールのC++教室」といえば、プログラマ界においては、数多刊行されているC++入門書がその足下にも及ばないほど内容が充実しているという評価で有名なコンテンツです。
本書は、サイトに掲載されている講座を書籍用にリニューアルしたもので、書籍化にあたり、大幅な加筆修正、図版の大増量、言い回しの改善、内容の見直しな ど再編集を施すことで情報の刷新をはかると共に、Windows、MacOS X、UNIX、Linuxに対応したC++入門書に仕上げました。
過去のどの本よりもわかりやすく、丁寧に、かつ本格的な活用までを網羅した本来の意味での「入門書」です。  
内容サンプル
 
User Voice
Cは少し知っていてC++は初めてという状況で買ったものですが、非常に良いです。プログラミング言語の教科書ともなるとともすれば言語の仕様と例文で終わっているものが多いですが、これはどういったメカニズムで動くのか、なぜそのような挙動をするのかがしっかりと書いてあります。
名著と名高い柴田望洋さんのC++参考書も使いましたが、少なくとも初めて触れるような人、あまりプログラムに自信がない人はこっちの方が向いていると感じました。
先ず、ページ数の多さに圧倒されます。
しかし、内容的には非常に細かく説明がなされています。他の教本では語句説明のみで終わるであろう
内容まで、1章かけて説明がなされています。
C++言語の仕様からの説明が多く、例文が多いため、この例文をこなしていけば相当に力が付くを
感じさせる教本だと思います。
古本で購入しましたが、およそ半額にもかかわらず、非常にきれいでした。ただ、重いです。
ページ数は多いが、そのぶん細かく説明されており、C++.を本気で勉強したい人にとっては良書だと思います。
また、Cの解説もあるので、Cを知らない人にも使える内容です。
ただ、前書きに、全くプログラミングをしたことの無い初心者も対象とあるが、実際にはコンピュータのハードやソフトについての最低限の知識や、多少なりとも他言語の経験が無いとちょっと難しいかも。
 
   
人気 15位
本書の内容

誰も教えてくれなかった、
ゲーム開発の基本を徹底的に学ぼう!

・ゲームとはどんなプログラムなのか?
・「あの機能」はどうやって実装されているのか?

3Dグラフィックスからサウンド、AIまで。
ゲームプログラマーになりたい人のみならず、
すべてのゲーム開発者が知っておきたい「基本」が詰まった、
ゲーム開発の教科書!

C++の初歩は習得済みで、本気でゲームプログラミングを学びたい人が、
新人になる前に、確かな基礎力を磨ける一冊。

====目次====
Chapter 1 ゲームプログラミングの概要
Chapter 2 ゲームオブジェクトと2Dグラフィックス
Chapter 3 ベクトルと基礎の物理
Chapter 4 人工知能(AI)
Chapter 5 OpenGL
Chapter 6 3Dグラフィックス
Chapter 7 オーディオ
Chapter 8 入力システム
Chapter 9 カメラ
Chapter 10 衝突検知
Chapter 11 ユーザーインターフェイス(UI)
Chapter 12 スケルタル(骨格)アニメーション
Chapter 13 中級グラフィックス
Chapter 14 レベルファイルとバイナリデータ
付録A 中級C++の復習

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
当方は情報系の大学院生でゲーム作成はまったく畑違いなのですが、最近c++やJavaなどのオブジェクト指向言語を使った開発現場への就職が決まったのでその勉強も兼ねて趣味でゲーム作成してみようと思ったのがきっかけで本書を手に取りました。結論から言うとむちゃくちゃ良書だと思いますが、挫折する人多そうだなというような印象です。予めc++言語をかなり勉強して使えるようになっておかないと(クラス、継承、クラスポインタ、STL、演算子オーバーロード、テンプレートなど)読み進めるのが厳しいと思います。自分の場合は目的が「ゲーム作りたい」ではなく「c++言語をもっと実践的に使えるようになりたい(ゲームを0から作れるくらいに)」なので楽しく読めているのかと思います。

・ソースコードをサッと見て大体挙動が理解できる。クラス多重継承とかオーバーライドとかクラスポインタとか色々出てきますがそれらを見て気分が悪くならない人向けです。
・Visual StudioでSDL2とかSDL_imageとか外部ライブラリを導入する必要があります(Mac版もあります)。Visual Studio向けの開発キットがネットからダウンロードできますのでネットでやり方ぐぐって自分で解決しないといけません。(そんなに難しくないと思うけど)
・コードを書き進めながら何度も反復して練習する必要有です。
・内容はめちゃくちゃ良かった(そして濃い)です。UnityとかUnreal Engineとか触ってなんとなくゲーム作った経験があるのですが、その後の応用が利かなかったりモチベーションが維持できなかったのは単純に圧倒的に基礎が疎かであったことを教えられた気がします。
・ソースとヘッダーファイルを行き来するのでディスプレイ2つか3つくらいあった方がいいです。てかないとしんどいです買いましょう。
・ほとんどのソースはweb上(git)に挙げられています。「ゲームプログラミングc++ git」とかで検索すると本書のソースコードが全てgitに章ごとに区切られて保管されています。基本的にはgitのソースと本書を交互に読みながら進めることになります。

ものすごいボリュームですが何度も読んでいると確実に力が付きそうな印象です。素人意見ですが今の時代でもゲームエンジン使う使わない関係なく持ってて損はない本じゃないかと思いました。
実際に作品を作りながら進むので、モチベーションが維持しやすいです。
SDLなど、外部資源を利用しますが、導入方法などには一切触れていません。
あくまでも「プログラミング」に注力されており、そのための環境構築の説明はほぼ記載がありません。
構築後の利用方法は詳しく書かれています。

海外のレビューでは、
「環境構築の説明がない!」
「SDLのライブラリが違うんだけど!」
「ファイル数多すぎるし、行ったり来たりするし、わけわからん」
「解説がないファイルがあるんだけど」
との批評もあります。

この書籍をうまく利用できる方は以下のような方だと思われます。
1.ググる能力がある
2.モニターのサイズがでかい、あるいはデュアルディスプレイ(プロジェクトあたりのファイル数が多く、往復が頻繁)
3.高校1年生レベルの数学、物理の知識

「わからなければググれ。似たような説明は2度としねえよ。ソース全部説明してたらきりがないから、GitHubにあるソース見て自分で理解しろ。」
という感じ。

--追記--
著者のサンプル(完成品)をローカルで実行出来ない方がいらっしゃるみたいです。
以下、実行時の画面を載せました(著作権の関係もあるため、コードは載せません)
https://www.youtube.com/channel/UCF4KPSCZOHTh9ecPDmQzhkA
UnityやUnrealEngine4などのゲームエンジンを使って簡単なゲームを作ってみたよってレベルでは読み進められないなと思いました。
ゲームエンジンを使って自分の作りたいゲームを自分で作れるレベルの人が、より深くゲームエンジンについて学びたいときに使うと良いと思います。
ゲームの作り方ではなく、ゲームエンジンの作り方に目的がある人にオススメです。
 
   
人気 16位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 17位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 18位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 19位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 20位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 21位
本書の内容
堅牢で美しいソフトウェア設計とは?

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

「拡張性がない」「効率が悪い」「安全でない」。仕様に沿って正しく動くプログラムにも、明確に存在する設計センスの良し悪し。長期の運用に堪える“良い”設計とは? 具体的事例と共に詳説される、数々の実践的手法。堅牢で美しい設計のための必読書!

●目次
目次
第1章 はじめに
第2章 優れたAPIの特徴
第3章 パターン
第4章 デザイン
第5章 スタイル
第6章 C++の使用法
第7章 パフォーマンス
第8章 バージョン管理
第9章 ドキュメント
第10章 テスティング
第11章 スクリプト記述
第12章 拡張性
付録A ライブラリ

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
C++ は Java などよりも低レベルで高機能なため API 設計においてもかなりの自由度があります。例えば関数にオブジェクトを渡すとき参照渡しにするのかポインタの値渡しにするのか。あるいはメモリをどのように確保しどのように解放させるべきか。本書はこのような C++ 固有の争点について多く触れられています。

機能追加や仕様変更が API に与える影響なども念頭に置いて話が進むので、保守性の高い API を設計する上でも役に立ちます。(ただし既に失敗した設計を立て直す方法は述べられていません)

訳文はかなり翻訳調で、意味の取りづらいところがちらほらあります。
中級者以上になると悩むコードの設計の指針を示してくれる。
この手の技術書によくある話ですが特に前半は重要な話が多いです。
Kindleを購入したが内容については申し分なく期待した以上だったが、ページが画像のためキーワードで検索ができない。
少し調べたいなと思うが、場所を特定するのに時間が掛かってしまう。
 
   
人気 22位
発売日 0000/00/00
(5)
Amazon 2,057円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 23位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 24位
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

はじめてでも大丈夫! アプリを作る楽しさがこの1冊だけで体験できます

本書はプログラミングがまったく初めての人でも、簡単なサンプルを作りながら、Visual C++を使ったWindowsアプリの作成を楽しく体験できる入門書です。アプリ作成には無償で入手できるVisual Studio Community 2019を使います。全6章を順番に進めることで、Windowsアプリの基礎知識、Visual Studioの使い方、画面のデザイン、コードの書き方などが理解できます。章ごとに短いトピックで区切られているので、自分のペースで学べます。PCスクールなどの教材としても適しています。
本書は2018年3月発行の『アプリを作ろう! Visual C++入門 Visual C++ 2017対応』を、執筆時の最新情報に合わせて改訂したものです。

●本書で作るサンプルアプリ
本書では「サイコロ予想ゲーム」を作りながら、Visual C++の基本操作とプログラミングの基礎を学習します。サイコロの目が奇数か偶数かを当て、当たると得点になるシンプルなゲームです。当たりかはずれかに応じて画面が変化します。

●本書の特長
・必要な手順をもれなく、ていねいに説明!
・手順どおりに進めるだけでアプリが完成!
・学習用ファイルがダウンロードできます!  
内容サンプル
 
User Voice
別のストアで電子書籍版後購入。内容を全て読破し、サイコロゲーム実装を完遂しました。

とりあえず、動くWindowsのデスクトップアプリを作る流れは理解出来ます。ただ、デスクトップアプリの雛形ではなく、わざわざ空のプロジェクトからスタートなのは何でだろう? デスクトップアプリがターゲットなのに・・・。
内容は図解がほとんどで、分かり易いです。コード量もそんなに多くなく、初心者でも取っ掛かり易い内容と思いました。

ただ、コードの内容は学生レベル、あるいはそれ以下です。言われた通りに書いていくと、インデントはめちゃくちゃだし、ヘッダに直接実装する事になるし。企業のコードレビューであれば、ダメ出しの嵐でしょう。また、コードの解説ではなるべく分かるよう深い部分はタッチしていないので、コーディング力を磨ける内容ではありません。本当に、VisualStudioを使ってアプリを作る簡単な流れを身に着ける為だけの内容です。

初心者向け、という点では良心的(投げ出し難い)ですが、一方でコーディング思想を悪い方向に導きかねないコード内容と思います。ゲーム完成後は大した補足もその後の言及もないので、実装し終わった後への展望を読者が掴み辛いです。これで\2200はちょっと高いかな・・・。
 
   
人気 25位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 26位
本書の内容
『新・明解C++入門』の姉妹編、ここに刊行

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

C++を用いてオブジェクト指向プログラミングの基礎を学習するための入門書です。

まずは、クラスの基礎から学習を始めます。データと、それを扱う手続きとをまとめることによってクラスを作成します。それから、派生・継承、仮想関数、抽象クラス、例外処理、クラステンプレートなどを学習し、オブジェクト指向プログラミングの核心へと話が進んでいきます。その過程で、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めていきます。最後の三つの章では、ベクトル、文字列、入出力ストリームといった、重要かつ基本的なライブラリについて学習します。
本書を通して、読者は、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めることができるでしょう。

なお、本書は、『新・明解C++入門』(2017年12月刊行)の姉妹編であり、『新・明解C++入門』でC++の基礎を学んだ読者にとって最適なテキストです。

●目次
はじめに
第1章 クラスの基礎
第2章 具象クラスの作成
第3章 変換関数と演算子関数
第4章 資源獲得時初期化と例外処理
第5章 継 承
第6章 仮想関数と多相性
第7章 抽象クラス
第8章 多重継承
第9章 例外処理
第10章 クラステンプレート
第11章 ベクトルライブラリ
第12章 文字列ライブラリ
第13章 ストリームへの入出力
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
今まで、FORTRAN、COBOL、BASIC、PL/I、C言語、Perl、PHP5、C++、C#さらには、SQL、HTML5、CSS3、JavaScriptなど各種プログラミング言語の習得に努めてきたが、やはりC++がいちばん難解である。
望洋先生のアルゴリズムは簡潔で洗練されているため、数学的素養のない自分には理解するのが大変であるが、挫折しそうになる心に鞭打って、先を急がずに毎日ちょっとずつ進めているところである。
しっかりした内容で、申し分のない、安定したクオリティーです。有難うございます。
解説はすごく良いのですが、ページのレイアウトが独特なため、とても読み辛いです。

これまでたくさんの技術書を読んできましたが、その中でも抜群に読み辛い。

本の帯に「この本は技術者である筆者が直々にデザインしたので云々〜」みたいなことを書いてましたが、
ちゃんとしたプロのデザイナーの方に編集してもらったほうがいいかと思います。

ただ、繰り返しですが、部分部分の解説はすごく分かりやすいので、もったいないなと思いました。
 
   
人気 27位
本書の内容
 
内容サンプル
 
User Voice
丁寧で行届いた解説。理解しないまま読み飛ばしてしまいそうな箇所、勘違いしそうな箇所、簡単なことなのに、つまづきそうなポイントを、ガッチリ固めてくれます。長年、学生を教えてきた経験で、転ぶ前に、そこ危ないよと教えてくれる安心仕様。いきなり答えに頼らず自力で解いてみるのが、読み方のポイントでしょうか。
最初からこの本で勉強をするべきだと感じました
プログラムは覚えるのではなく、なれろだと思いました
適当に章末の問題といてるだけで見つかる見つかる
入門者が戸惑ってしまうのでその辺はちゃんとして欲しい
 
   
人気 28位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 29位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 30位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 31位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 32位
本書の内容
プログラミング言語としてのC の使い方を、基礎から丁寧に説明します。プログラミングに必要な基礎知識(言語仕様、文法、概念など)を体系的に学習できます。
各章の章末には復習問題があり、その章で学んだ内容を確認してから次の章に進めるようになっています。また、本書の最後の章では実際にパズルのアプリケーションを作成することで、本書で学んだこと全体が復習できます。レベルアップを目指すC の初学者におすすめします。
本書は2009年発行の『文法からはじめるプログラミング言語Microsoft Visual C 入門』を、現在の状況に合わせて全面的に改訂したものです。

「はじめに」より抜粋------------------------------
本書はC の入門書です。文法を厳密に記述するのではなく、構文とそれを利用するサンプルコードを提示することによって、C を紹介しています。
対応する規格はISO/IEC 14882:2014、いわゆるC 14です。本文で利用する開発環境はVisual Studioですが、サンプルコードはGNU C とClangでも動作します。
その方法は脚註などで補足しているので、それを参考にすれば、Windowsだけでなく、macOSやLinuxでも本書の内容は試せます。
(中略)これからC のプログラムを読み書きしていくために最低限必要となるであろう話題だけを選択し、本書を書きました。
プログラムを書くだけでよければもう少しコンパクトにできますが、他人が書いたC のプログラムを読むのに必要な知識を入れるとこのくらいになるでしょう。  
内容サンプル
 
User Voice
良い本だと思いましたが、一点だけ文句を言わせてもらうと、初版だからでしょうか、誤植が多いです。
ただ、直したいと思っている箇所が筆者のGitHubのリポジトリ(cppbook2)のWikiに書いてあったり、
コードの間違いはPull requestやIssueを作成すると反映してくれるので、修正しようとされているみたいです。
修正した上で、早く第二版を出していただけたらと思います。

なお、上記の文句を差し引いても、本の内容は非常に良いので、星5つです。
これより前に『スラスラわかるC++』を読み、よくある入門書の後半駆け足具合にもうちょっとカッチリ書いた本を読みたいと思い、C++本の2冊目としてこちらを読み始めました(ほかにはC、python等を少しずつ入門レベルでかじっています)。
ほかの方のレビューにもある通り本当の初心者にはさっぱりわからないうえにいきなり開発手法の分類とか情報系資格の試験のごとき教科書的説明が入るので退屈だと思います(というかなぜC++の教科書を読み始めたのに直接今後の内容に関係のない情報系教科書的、概論的な内容が入るのか……?)。
一度理解した内容を簡潔に振り返ったりするためには要所要所をまとめた教科書的な書き方になっているので適していると思いますが、例えばすでに何か理解の不確かな個所や分からない部分があり、それをこの本で理解しようとするのは結構難しいのではと感じました。コード例も機能の紹介にとどまりストイックなので、自分で手を動かして改変してみようと意欲的に取り組まないと身につかないです。
右辺値参照とか突然出てきてあれ?これ前に書いてあったっけ?って焦ったら初出なのにこれは右辺値参照なのでこのコードの実行結果はこうなりますみたいな説明があったりして、本自体の構成も「いったん総ざらいした人」向けのような……。

Kindle版を購入しましたが、脚注を今読んでいるページを表示したまま下部に表示できたり、単語検索、練習問題解答との行き来などの機能が充実しており、そこは使い勝手がよかったです。ただしコード部分は画像?になっていてコードの一部へのハイライトなどはできないです。
C++を学ぶにはとてもいい本ですが、オブジェクト指向や基本的なプログラミング知識はかなりすっ飛ばして書かれているので、それらがないとすぐに躓きますし理解もできないでしょう
ある程度知識があるひとにとっては余計な説明が少なくいい本です
 
   
人気 33位
本書の内容
プログラミング初体験のあなたでも、1週間でC++がちょっとだけ使えるようになれる!

C++でプログラミングを始めてみたいのだけど、どんな本を読んで勉強しても分からない…理解できない…。そんな方にオススメの1冊!
本書を読み進めながら、一緒にサンプルプログラミングを入力してみることで、プログラミングの基礎&C++の基礎が分かるようになり、ちょっとだけC++でプログラムが書けるようになります。

途中で読むことを挫折しないよう、ゆるいペースでナビゲートします!

▼目次
1日目 C言語の基本
2日目 C++の基本
3日目 クラスとオブジェクト
4日目 コンストラクタとデストラクタ/静的メンバ
5日目 継承とポリモーフィズム
6日目 テンプレートとSTL
7日目 覚えておきたい知識

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
冒頭から怖くない・難しくないよと励ましてくれつつ
用語の解説はわざわざ読み方からと、テキストに何気ないところに
著者の優しさが滲み出ています。

1ページに対する情報量も多く詰め込まれてないし
くるま・ねずみ・カラスといった動物を例えに出すなど
分かりやすさに偽りなしの一冊。
C/C++でも飯を食っていますが最新のC++の確認と復習のための入手しました。

黒とオレンジの2色で読みやすいです。
ただ前小口全面がオレンジなのはいかがなものかと。
指の汚れが目立たないような仕様ですかね?

サンプルソースが収録されたCDはありません。
あれって本としては邪魔なんですよね。
入力することでも覚えるので頑張りましょう。(by ベーマガ世代)

実行にはVisual Studio 2019 コミュニティを使います。
環境については一番楽ですからね。
GNUやCygwinだと環境でくじける人が出ると思います。

肝心の内容ですがちょっと飛ばし過ぎだと感じました。
素人さん(by芸人様www)がデータ型一覧とか見て嫌になりそうな気がします。
4バイトの符号なし整数って言われて分かるでしょうか?
少なくともプログラミング初心者には難しいのではないでしょうか?
4バイトの符号なし整数が理解できるプログラミング初心者?
1日でC言語の基礎は無理があるのでは?

2日目以降はC++の基礎を順に追っているので進めやすいと思います。
確かにゆるいペースだと思います。
個人的には業務上ほぼ使わないテンプレートの章は勉強になりました。

参照渡しが最後の「覚えておきたい知識」にあるのはこだわりを感じます。
他の本では割と初めの方に見た気がするのですが、あくまで必須ではない補助的な仕様ということなんでしょう。

ある程度のC言語経験者にお勧めですが、全くの初心者には厳しいと感じたので★-1だけさせていただきます。
初心者の方も1日目のC言語の基本さえ乗り越えればあとは付いてこれると思います。
C++入門書。黒・オレンジ系2色刷り。

無償のVisualStudio2019を用いて学習していきます。
7日で学べるよう7分割されていますが、それなりに量があるので実際に入力しながら学習すると毎日数時間はかかりそうです。一週間で学べなくもないと思います。

C、C++のテキストにありがちですが、基礎の基礎を解説して終わってますので、簡単なプログラムがかけるけど本格的なものが作れるまでの距離すらわからない状態で終わります。
作者もあとがきで、「C++は素人が手を出すものではない」と書いてます。
本書自体は問題ないですが、読み終わってさらに学びたいときの次の1冊探しは大変そうです。
 
   
人気 34位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 35位
本書の内容

C++プログラムの性能には、ハードウェア、コンパイラ、データ構造、アルゴリズム、ライブラリといったさまざまな要因が関係します。
本書は性能に影響する要因の特性をしっかり理解し、正しく測定することによって性能上の問題を引き起こしている「ホットスポット」を特定し、どのような最適化が可能であり、採用すべきなのかを詳しく解説します。
従来の文や式の最適化、コンパイラオプションだけでなく、性能チューニングの原則と、文字列、アルゴリズム、動的変数割り当て、カスタムライブラリ、探索と整列、データ構造、入出力、並列処理、メモリ管理といったあらゆる角度からの最適化テクニックを、「コード中毒」の著者が実際に直面したエピソードを交え紹介します。
より高速なプログラムを必要とするプログラマに不可欠な内容です。C++11/C++14対応。

 
内容サンプル
 
User Voice
C++の最適化について、文レベルからアルゴリズムレベルまで幅広く解説している。コンパイラやCPUアーキテクチャまで立ち入っている部分も一部ある。かといって最適化のトレードオフを忘れることもなく、また常に測定結果に立脚した話のしかたで、バランスがとれているのがよいと思う。

あえて言うなら測定結果がVisualStudio/x86-64環境メインなのが気になるが、なんにせよ開発者は自分の環境で適切に測定する必要があるはずだし、例はなんでもよいはずだ。
時折耳にする「年々CPUは高速になるのでコードの最適化は不要」と言うのは全くの見当違いです。
しかし、十分な速度で動いている部分を最適化する為に余分な労力を使うのは時間の無駄であり、単なる自己満足に過ぎません。

本書は小手先の技巧的なコーディングテクニックを紹介する本ではありません。
本書の第3章のコラムにもあるように、性能のボトルネックになっている1ヶ所を最適化する事で性能が7%向上した。
しかし、別の部分は最適化しても効果が無いので最適化を見送った。本書はそう言う見極めとメリハリが重要だと説いています。

もちろん、C++の言語的な、或いは付属のライブラリの特性を意識した最適化の為のテクニックの紹介は多々ありますが、それは本書の全てではありません。
むしろ本書は、適切なアルゴリズムやデータ構造を使う事の重要性を説いています。そして並行処理の最適化についても紹介されています。

例えば1989年に初版発行の「アルゴリズムとデータ構造」ですら、いわゆるビックオー表記の性能評価の目安であるO(n2)やO(log2 n)などが紹介されています。
そして当時でさえ、データ数が十分に少なければO(n2)の方がO(log2 n)よりも早くなる場合がある事も記されています。

これは一般的に繰り返しの回数を少なくするアルゴリズムは複雑になる傾向があるので、定数・係数であるビックオー部分が大きくなるからです。
例えて言えば、10m先に行くのに徒歩と自動車どちらが早いかと言う事です。
長距離であれば当然自動車の方が遙かに早いのですが、たったの10m程度の距離であれば車に乗り込んでシートベルトを着用してエンジン掛けて・・・とやってる暇があるなら歩いた方が早い。当たり前の話ですね。

本書では近年の研究の成果を踏まえて、理論的な計算量(時間コスト)とCPUのキャッシュ、データの特性を考慮したアルゴリズムの選択について紹介されています。

時折挟まれるコラムには最適化に関する著者の体験談なども載っており、「ああ、あるある」と楽しめます。
第3章の先述とは別のコラムで、線形探索と二分探索の性能測定でデータ数を増やしても常に線形探索の方が早いのでおかしいと思ってコードを調べたら、線形探索のバグで最初の1回目で常に「成功」を返していたと言うのがありますが、実は私も全く同じミスを犯した事があります。
まあ、筆者の場合と異なり、単体テストの段階でミスに気づきましたが。

本書の購入を考えている、或いは本書に興味を持つような方なら大丈夫だと思いますが、本書は内容の特性上、C++はもとよりCPUやメモリアクセス及びキャッシュの仕組みと特性、OSの構造や動作、CPUの進化の歴史などの知識がそれなりに必要です。
もちろんそれらの知識がなくても読めない訳ではありませんが、「なぜそうするのか?」と言う一番重要なポイントが腑に落ちないと思います。
コンパイラの最適化オプションによってソースコードがどう変化するかを、アセンブラのソースを出力させて確認する。そう言う経験をして来た人達だと著者が言いたい事が伝わりやすいと思います。

本書には(恐らく原文からしてそうなのでしょうが)比喩的な表現が多く見られます。特に第2章の「~の真実」関係の記述は、分かっている人でないと誤解を招く表現も多々見うけられます。
例えばP.14ではZ80などの昔のCPUと違い、最近のCPUではマルチコアだったり各種の高速化技法を使っているので一筋縄では行かないと言う事を読者に伝えたいようです。
が、それを表現するのに「C++プログラムは、先ほど述べたコンピュータの単純モデルを信じているように振るまう」と書かれています。
これは前後の文章の流れからするとCPUの投機実行(分岐した先の処理をあらかじめ実行しておくこと。分岐しなかった場合の結果は破棄される)やHTやアウトオブオーダー実行(命令の実行順をプログラムと矛盾しない範囲で入れ替えて実行する)、或いはMMUを使った仮想記憶などを意識した記述だと思われるのですが・・・
これはCPUの内部で行われている話であり、外部に対してはプログラムの記述通りの結果になる事が保障されています。
つまり、「振るまっている」のはCPUであって、C++ではありません。

とは言え、それらが全く無関係かと言うとそうでもなく、C++コンパイラ自身の最適化機能においてもソースコードのコンパイル時に結果に影響がない範囲で順番を変えてコードを生成する場合があります。
もっともその場合でも、「振るまっている」のはC++のコンパイラ(の最適化機能)であって、(ユーザーが作成した)プログラムではありませんが。
もしかすると「C++プログラム」とはC++コンパイラの事を言いたいのかとも思いましたが、その後に「C++ コンパイラ」と言う文言が出てくるので、恐らく「C++プログラム」はユーザーが作ったプログラムの事を示しているのだと思います。
他にも用語的には「C++」「コンパイラ」が使われていますが、「C++」はC++の言語仕様を示す時に使われているようです。

まあ勿論、CPUやコンパイラがどの様に振るまうかと言う事は(プログラマ自身が)コーディングの際に常に意識しておく必要はあります。
例えば副作用を伴う関数を引数に渡す場合がそれに該当します。

仮に次の様な(推奨されない)記述があったとします。
int a = 0;
func(a++, a++);
関数の引数の評価順序はC++の仕様で規定されてないので、コンパイラは「振るまう」必要がありません。
つまりこの場合、func(0, 1)で呼び出されるか、それともfunc(1, 0)で呼び出されるかはコンパイラに依存し、さらに同じコンパイラを使っても最適化機能のON/OFFで結果が異なる可能性があると言う事です。
つまり、コンパイラの振るまいを理解しておかないと、(最適化機能OFFの)Debug環境では正常に動くのに(最適化機能ONの)Release環境では間違った動作をするやっかいなプログラムを作ってしまう事になります。
そう言うプログラムは当然ですが、作った本人にはバグが見つけられず、無駄にデバッグに時間を費やす事になります。
「引数に渡す前に別のローカル変数に入れる」と言う、わずかな手間、わずかな行数、わずかな実行時間を惜しんだがために、分かりづらいバグを生み出す。
もちろん使っているC++によっては問題なく動く場合もありますが、潜在バグの一つなので他の処理系に移植された時に問題が出るパターンもあります。自己満足の最適化パターンが生み出すバグの一種なのですが、意外とありがちです。

話を戻すと、この様に(文章的に)やや気になる点は幾つかありますが、より高速なC++プログラムを作る必要がある場合、本書は座右の書となるでしょう。

尚、第1章の冒頭に明記されていますが、本書の最適化の技法はC++の特徴を意識した物なので、他の言語で同じ技法を使っても同様の効果が得られる保証はありません。
また、特定のCPUやハードウェア、OS固有のAPI等に依存した最適化の技法についても(軽く触れられる程度で)基本的には対象外です。
本書で紹介されるのはあくまでもC++一般で適用されるであろう最適化の技法であり、その為の知識です。
原書や内容は良いと思いますが、誤訳が酷いです。
難しいのは、プログラム言語(予約語や専門用語)と英語を正しく
理解して翻訳する必要があると思いますが、
この書籍に関しては機械翻訳された様にプログラム言語などが
変な日本語やカタカナに訳されている部分があって、更に、
その部分だけ見ると逆の意味にとられかねない記述も
あったりします(訳者もC++に不慣れ?)。
それ故、初心者~中級者は間違った内容を理解させるかも
知れませんし、中級~上級者にとっては間違い探しの旅に
なってしまいそうです。
改訂版で修正される事を期待します。
 
   
人気 36位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 37位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 38位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 39位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 40位
本書の内容

知識ゼロからでもよくわかる、はじめてのC++

プログラミング経験ゼロでも安心して学べる定番の入門書『スラスラわかる C++』がパワーアップして帰ってきました!
前版の内容を大幅に見直し、C++に必須の構文やクラスをしっかり網羅し、初学者向けにやさしく解説しています。
1つのプログラムをテーマに沿ってどんどん改造していくので、自分のやりたいことを実現していく過程がよくわかります。
また、各章の終わりに理解度を確認するテストを掲載しているので、学んだことをその場で復習できます。

【本書の対象読者】
・本書ではじめてプログラミングを行う人
・これまでにC++を学ぼうと思ったことがあるけれど、挫折してしまった人
・一生使えるプログラミングの知識をC++で身につけたいと思っている人

【目次】
第1章 プログラミングの準備をする
第2章 役に立つプログラムを作る(C++の基本構文)
第3章 条件に応じた分岐と繰り返し
第4章 プログラムを関数で部品化する
第5章 プログラムをクラスで部品化する
第6章 クラスがあるから表現できること
第7章 オーバーライドとオーバーロード
第8章 コピーコンストラクタと代入演算子のオーバーロード
第9章 エラー処理とファイル処理
第10章 テンプレートとSTL

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
当方、文面通りにソフトウェアを用意してコード文を作ってコンパイルしようとしたところ「cl は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」というエラーメッセージが出てコンパイル自体実行出来ませんでした。元々VisualStudio2010を持っていたので(使用PCで普段から使っています。)それで手順を行うと、問題なく実行出来ました。7年前のバージョンでも64bit版に対応したVSなら実行可能ですが、2017どころか2018版でも安価な32bit版のみ対応の無料バージョンなら何をやっても動作しません。こんな大事な事を書いていない時点で評価は星3個です。気持ち的には星1個ですが満点評価を見て買った本なので、あまり評価を下げたくないというオマケで星3個です。
C経験あり(入門書を読み終わり多少読み書きできるレベル)の状態で読みました。
半分くらいまではあまりCを超えた範囲の話がなく、スイスイ読めました。後半はクラスなどC++に特有の話が出てきます。いずれにせよ、他言語経験を前提とした書き方は特にしていないので、根気があれば初学者でも読むことができると思いますが、なまじ各章のコードの改造手順が丁寧なだけに、写経だけではなく自分で考えて手を動かしていかないと、やや何をしているか覚えきれない感じにはなってくると思います。
Cの入門書などではかなり丁寧に説明されているポインタについても結構あっさりと説明されています。簡潔なのでそのへんがよい人ともっと詳しくページを割いてほしい人に分かれそう、立ち読みなどできればその辺で自分との相性を確認されたほうが良いかもしれません。
追記:この手の入門書にありがちなことですが後半特に駆け足の部分が多く、例えばファイル入出力の章でバイナリファイルの取り扱いを学びますがそこで説明される2進数の説明などはまず初めての人にとっては理解しがたいものではないかと思います。というか、この分量の入門書でバイナリファイルの取り扱いを入れる意味があったのかちょっと謎です。
本の最初のほうはBMIを求めるプログラムをリッチにしていこう、そのためにこういう機能を学びます、という方向性が明確なのに対し、後半はこういう機能があります簡潔に書くために特に役に立たないプログラムを書きます、というのが続くため、記憶の定着しにくい印象がありました(そこが、上述した「写経だけではなく自分で考えて手を動かしていかないと、やや何をしているか覚えきれない感じ」につながってくると思います)。

kindle版は目次から各項目に飛ぶ機能がないのでちょっと使いづらいです(その分全文検索かけられますが……目次もあると一層うれしかったのに)。ささやかながら一問一答の章末問題は回答と問題を行き来できるリンクがついていてよかったです。
様々なC++のテキストを見てきたが、この本が一番分かりやすく解説している。
C言語を少しかじった程度のC++の入門者にとって最高の入門書であると言えるだろう。
ただ、全くプログラミング言語の知識がない人は、この本の内容がかなり高度であることから多分ついていけないだろう。
 
   
人気 41位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 42位
本書の内容
テンプレートの真の力!!

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

メタプログラミング、ポリシーベース/コンセプトベースの設計手法、SFINAE、Type Erasureなど、テンプレートの機能を使ったプログラム共通化の仕組みを、わかりやすく解説。最新規格、C++11に対応!!

●目次
Chapter 1 テンプレート前史
Chapter 2 テンプレートの基礎
Chapter 3 Generic Programmingの基礎
Chapter 4 テンプレートメタプログラミング
Chapter 5 SFINAE
Chapter 6 ポリシー
Chapter 7 コンセプト
Chapter 8 Type Erasure
Chapter 9 CRTP
Chapter 10 テンプレート型変換演算子
Chapter 11 Expression Template

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
最近OMPがらみの糞本買ってしまったので、
それとは対照的な本書をレビューします。

ぺらぺらめくるだけで、書き手のわかりやすく伝えたいという熱意がビンビン感じられる名著です。
サンプルコードも理解しやすいようできるかぎり短く、適切で、無駄コードの羅列で頁を稼ぐどこかの駄本とは偉いちがいです。
最後に登場する式テンプレートはBlitzのコードらしいですが、これ以上にわかりやすいサンプルはないと思われます。
サンプルコードはダウンロードし、コピペして自由に使うことが出来ます。
要は自分がプログラムする際、いかに適切にこれらを利用できるか?にかかっています。
残念なのは、ほぼC++11どまりな上、高橋晶氏のC++テンプレートに関する熱意が薄らいでいるようで、
最新スペックに準拠した新版が出版されそうにないことです。
なんとか新版リリースされないもんでしょうかね?
最初の数章まで読みましたが、templateの基本から説明してあり、理解しやすいです。
ただし、途中から段々と難しくなって行きます。
C++03がC++11になると、簡便な書き方でコーディングが出来ることが
説明してあり、助かっています。
第一版も買いましたが、内容が良かったのでこちらも購入しました。
第一版は電子書籍版がなかったので、自炊して PDF 化して読んでいましたが、
第二版では Kindle 版があるとためこちらを選択。
しかし・・・内容は本をそのままスキャンしたかのような画像の集まりで、これには本当にがっかりしました。
目次もないのですこぶる扱いづらく、結局自炊したほうがマシでした。

内容は相変わらず素晴らしく、第二版で C++11 に関する加筆がなされており、
その辺りを抑えたい人であれば第一版を持っていても十二分に買う価値があります。
 
   
人気 43位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 44位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 45位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 46位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 47位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 48位
本書の内容

Visual C++パーフェクトマスターの2019年版となります。

 
内容サンプル
 
User Voice
長い目で見れば文法書は文法書を、Visual StudioはVisual Studioの専門書を、
それぞれ別冊で揃えたほうが最終的にコスパは良いです。
ボリュームは有りひとまず手も動かせはしますが、どちらも中途半端だと思いました。
ありがたく大変役に立っていて、業務でとても助かったいます。ありがとうございます。
 
   
人気 49位
本書の内容
(概要)
C++必携の『C++ポケットリファレンス』に最新版が登場!「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」という特徴はそのままに,C++11以来のメジャーアップデートとなったC++17に対応しました。構造化束縛などのコア言語の新機能や,optional,variantなどの解説を追加。もちろん,現場で長く使われているC++03にも対応しています。信頼と安心の1冊です。

(こんな方におすすめ)
・C++を使用するプログラマ
・ゲーム開発者

(目次)
CHAPTER 1 C++とは

CHAPTER 2 基本文法

CHAPTER 3 エラーハンドリング

CHAPTER 4 文字列

CHAPTER 5 入出力

CHAPTER 6 ユーティリティ

CHAPTER 7 コンテナとアルゴリズム

CHAPTER 8 スレッド

APPENDIX 付録A ライブラリ

APPENDIX 付録B 言語拡張

APPENDIX 付録C 開発環境  
内容サンプル
 
User Voice
C++の新しめの仕様をざっくりと確認し、必要な機能の有無などを調べるのに非常に役に立っています。クラスの定義とともにサンプルコードも載っていて、試したことのない機能を最初に試す場合などにも重宝します。あれ?あの機能があったはずだけど、どうやるんだっけ、というケースで最初にぱっと確認するのによく引いています。
ポケットリファレンスの名のとおり、サイズが小さいため十分に詳細が記述されていない部分もありますが、それを割り引いてもこの値段と内容ならお買い得に感じます。この本でさっと機能を確認して、必要ならWebで調べるなり、別の書籍を当たるなりする、という使い方が向いている本だと思います。
C++をもっとちゃんと理解しておきたいと思い購入。
どんなことができるのかなどの記述が豊富で、特に何も無い時に見ていても「こんなことができるのか」と新しい知識や興味を得れて、実際に使えるので、買ってとても満足しています。

レベル的には、一度何の言語でもいいから2、3個何かしらのものを作り上げた人が向いていると思います。
なかなかこの様な記載がされている本も少ないと思います。自分的にはとても読みやすい参考書だと感じました。買って正解です。
 
   
人気 50位
本書の内容

この商品はリフローレイアウト作成されており、文字列のハイライトや検索、辞書の参照、引用などの機能をご利用いただけます。

2015年3月にゲームエンジンUnreal Engineが無償化され、その後多くの開発者が利用するようになりゲーム以外への利用も増えてきました。

Unreal Engineで標準的に使われるゲームロジック構築ツールは、Blueprintです。Blueprintはさまざまなゲームの開発に向いたビジュアルプログラミング言語で、とっつきやすく、同時に、高い機能、高い開発効率を持ちます。一方で、Unreal Engineの利用範囲が広がるにつれてBlueprintですべてのロジックを組むのが困難、あるいは、不可能な開発案件も増えてきています。このような場合でも対応できるよう、Unreal EngineはC++によって機能を拡張する仕組みを持っています。ただ、Unreal EngineのC++は標準のC++から独自に拡張されているため、前提知識のないC++プログラマにはハードルが高いのも事実です。

Unreal Engine独自に拡張されたC++については、公式ドキュメント、Wiki、掲示板、あるいはソースコードなどから情報を得ることで習得できます。しかし、必要な情報があまりにも分散してしまっています。そのためUnreal Engine C++初心者にとってはどこから手を付けていいのかわからない。それが今の状況だと思います。本書はそのようなUnreal Engine C++初心者や挫折してしまった方に、Unreal Engine C++の最低限の知識を身につけてもらうことを目的に書かれています。

 
内容サンプル
 
User Voice
私はUnityとC++には慣れていましたが、初めてUE4でC++を書こうとすると、お作法がわからないことが多く、どうやって始めたらいいかわかりませんでした。この本にはUE4でC++を書くために必要最小限の基礎知識やディレクトリ構造などの説明から書かれており、最初の一歩として最適でした。
全チャプターを通読し、一通り本に書かれたコードも試してみました。
結論から言うと、そこそこ満足ですが、もうすこし深い内容であったほしかったです。
-----
著者の動作検証環境ですが
・UE4 4.18
・Visual Studio Community 2015
とありました。私が試したときは、Visual Studioは2017でも問題なく動作しました。

なおUE4をすでに触られた方ならわかると思いますが、マシンスペックは必要です。
サンプルコードを試す場合は頻繁にビルドすることになります。

サンプルはWindows/MacOS双方で試せます。ビルド時の構成をいじる場合もWindows/MacOS双方の構成がのっています。

-----
内容としては
・UE C++に対する基礎的な知識(BPと連携するための記述法(コールバック、プロパティ))
・外部ライブラリの利用(利用例としてOpenCV 3.3.1:輪郭線抽出)
・プラグイン作成の知識
が身につきます。

ある程度UE4とC++に馴染めている方々向けです。
C++11の機能を使っていますが、あまり多くはないので、C++の機能がわからない方は調べればなんとかなります。
UE4の知識は、基本的な操作を理解し、ブループリントの基本動作に習熟していれば問題ないでしょう。

■良かった点
・UE C++に対する解説本が今の所(2018/2月)これしかないという点。UE C++に対する解説本がほしい方は選択肢がありません。
・UE C++に対する基礎部分しか説明されていないこと。もう少し濃い内容があってもいいように思いました。UE4+を業務で使うような場合は、UE C++を触りだけでなくかなり本格的に触ると思うので、メモリモデル、クラスライブラリやエンジンの設計方針についても説明がもう少し欲しいところです。
・冒頭にこの本で述べること/述べないことが明記されていること。書店で見る場合は、ここをみて、自分の求めている情報があるか判断するといいと思います。
・サンプルが比較的ミニマルなところ
・カラー
■イマイチだった点
・Blueprintの図が小さいです... 目を凝らさないと見えないです(泣) 見えない方は、サンプルプログラムを動かしてなんのノードがおいてあるか見てみる必要があります。
・サンプルプログラムを入手するURLが書いてある場所がちょっとわかりにくかったです(表紙をめくって「はじめに」の前のページにあります)
・解説図の内容がわかりにくいです。文字が小さいなどでわかりにくいのではなく、単に何を示しているのか、何が言いたいのかがよく伝わらない図になっています。
・ちょっと値段が高いかも...

-----

あと、わがままかもしれませんが、サンプルがもう少し実践的であって欲しかったです。
プラグインの作成の章のあたりは実践的でしたが、ライブラリの使用の章のサンプルは実践的ではなかったように感じました。

最後になりますが、ライブラリやプラグイン作成の知識は、私はまったくなかったのでとても参考になりました。
欠点も述べましたが、満足しております。
UE4で開発を進める上で、ブループリントでは賄えない高速処理や、各コンポーネントの機能拡張をしたい場合は、C++による実装が必要になってくる。
UE4で主に使用するC++は、UE独自に拡張されたものであり、利用するにはきちんと様式に従わないと正しく効果的に利用できない。
(例:BluePrintから呼び出せるようにしたり、ガベージコレクションの対象にしたりする場合は、マクロを呼び出す必要がある。テンプレートで自動生成されたクラスのメソッドにもいくつか注意点もある。)
これらを的確に使うための指南をまとめたのが本著。

最終的にプラグインを独自制作できるまでを目標に、一部のUEの基本クラス、APIの使い方を解説してくれている。
基本的なデータ型、マクロの解説などから、非同期・並列処理、スレッドセーフ、標準ライブラリなどとの連携まで言及してくれている。

UE4の膨大な機能、クラス群の中から、一部を掻い摘んで紹介しているので物足りなさは否めないが、これからUE4でC++を使っていこうとする人には、現時点(2018/06)ではUnityより断片的かつコーディングに関する情報量が少ないなかで正解の技術を今後蓄積していくための良い足掛かりにはなると思う。

C++はそこそこ知っていて、UE4で初めてC++導入するレベルの人には、満足する内容だと思います。
若干の駆け足感がぬぐえないのと、他の方もおっしゃってるブループリントイベントグラフの画像の小ささが気になりました。

-----------------------

以下のことを学ぶことができる。

・UE C++オブジェクト
 クラス、構造体、列挙型
・マクロ
 UCLASS():UEライブラリと連携させる
 GENERATED_BODY()
・プロパティ
 UPROPERTY():
  ブループリントやレベルエディタから利用できる設定やアクセスコントロールを定める
  ガベージコレクションの対象にする
・コールバック
 動的マルチキャストデリゲート
 BluePointイベント
 BluePoint関数
・GC対象にするインスタンスの生成方法、スマートポインタ:安全なメモリ管理
・UE C++ライブラリ
 UObject
 AActor
  アクタ定義
  アクタコンポーネントの定義、生成の実装
 アセットからオブジェクトの読み込み
・非同期・並列処理
 スレッドプール
  TaskGraph
  ThreadPool
 非同期
  Async関数
  AsynkTask関数
  PararelFor関数
  ロック
・標準C++との連携
 標準ライブラリ、既存ソース、静的ライブラリ、動的ライブラリの利用
・プラグインの作成方法
・プラグイン作成例
 ファイル入出力プラグイン
 OpenCV利用プラグイン
 レベルエディタのモード追加プラグイン

以上。
 
   
人気 51位
本書の内容

【シリーズ累計90万部突破! 】
C++入門書籍の決定版が改訂!


プログラミング入門書のベストセラー、高橋麻奈の「やさしい」シリーズから『やさしいC++』を改訂。
豊富なイラストとスラスラ読める文、わかりやすいサンプルプログラムを使った解説で、
プログラミング経験ゼロからでもスッキリ理解できます。

▼本書の構成
Lesson 1 はじめの一歩
Lesson 2 C++の基本
Lesson 3 変数
Lesson 4 演算子
Lesson 5 場合に応じた処理
Lesson 6 何度も繰り返す
Lesson 7 関数
Lesson 8 ポインタ
Lesson 9 配列
Lesson 10 大きなプログラムの作成
Lesson 11 いろいろな型
Lesson 12 クラスの基本
Lesson 13 クラスの機能
Lesson 14 新しいクラス
Lesson 15 クラスの関する高度なトピック
Lesson 16 ファイルの入出力

 
内容サンプル
 
User Voice
研究室においてあった参考書が難しすぎて購入を決意。

めちゃくちゃわかりやすいです。
練習問題もあって、理解しながら解ける。

ただ、プログラムをマスターするにはもっと実践をやっていかないといけないかな
プログラムのコードを理解するにはとてもいい参考書です。
arduino unoでIOTを勉強中です。Cの拡張として勉強の資料としえ活用。まだ、50%の理解です。
C言語でコードは書けるというレベルの人間が、C++に挑戦すべくこの本を読んでみました。
この本はC言語初心者から、お勧めの出来るレベルだと思います。
完全な定番入門書だと思います。版も第4版になってるくらい支持されているようです。

特徴として
・平易で文章は読みやすく、説明がわかりやすい。
・記されたコードの実行画面結果などの画面表示を多くし、他の図表も理解しやすい。
・各章ごとにまとめられた、練習問題が練習になる。

C言語が完全で無い、うろ覚えの方でも出来るように書かれています。
他の本で挫折した方、ポインタって何?っていう方でも、ある程度は読み解ける様になっていると思います。

とりあえず、C++の参考書が欲しいけれど、どれが良いか分からないって方は、この本は選択肢に入れておくことをオススメします。
 
   
人気 52位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 53位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 54位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 55位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 56位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 57位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 58位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 59位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 60位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 61位
発売日 2005/04/21
(4.1)
Amazon 1円 Kindle 1,663円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 62位
本書の内容
C++入門書の最高峰、ここに誕生。
最高のC言語入門書として名高い『新版 明解C言語 入門編』の柴田望洋が贈る、最も明解で最も平易なC++入門書。初めてC++を学ぶ人、これまでの入門書ではマスターできなかった人など、すべてのC++ユーザに最良の1冊。サンプルプログラム満載。


※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

最高のC言語入門書として、読者の圧倒的な信頼を誇る『新版明解C言語 入門編』の著者、柴田望洋のC++入門書です。たくさんの図表とサンプルプログラムを使って、C++の基礎を分かりやすく、ていねいに解説しています。一つ一つのステップを着実に進んでいく、著書一流の解説により、読者は目から鱗が落ちるように、C++の基本をマスターすることができるでしょう。初めてプログラミングを学ぶ人、他の入門書ではマスターできなかった人、本当にC++をマスターしたい人など、すべてのC++ユーザにとって、最良の1冊です。

●目次
第1章 画面への出力とキーボードからの入力
第2章 プログラムの流れの分岐
第3章 プログラムの流れの繰返し
第4章 基本的なデータ型
第5章 配列
第6章 関数の基本
第7章 ポインタ
第8章 文字列とポインタ
第9章 関数の応用
第10章 クラスの基本
第11章 単純なクラスの作成
第12章 変換関数と演算子関数
第13章 静的メンバ
第14章 配列クラスで学ぶクラスの設計

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
初めて書かされたプログラミング言語がC言語だったのですが、その時の参考書としてこちらを使ってました。
当時はとても助かりました。
しかし、今思うとGoogleで検索すれば事足りたのではと感じます。
まぁ右も左も分からないうちはどう検索すればいいかも分からないわけで、そういう人にとっては良いかもしれません。
C++の基礎から順序立てて解説しているので、とても分かりやすいです。
すごく優秀な入門書です。ページ数は500以上で分厚いですけど、読みやすいです。練習問題も解きやすいです。きちんと読めばC++の基礎をしっかりさせるのは難しくないという感じです。大変おすすめです。
 
   
人気 63位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 64位
発売日 2003/09/01
(4.6)
Amazon 6,380円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 65位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 66位
本書の内容
C++を生み出したStroustrupが書き起こしたプログラミングを一から学ぶ人のための入門書。プログラミングとはなにか、プログラミングをどのように学ぶべきかを懇切丁寧に解説している。さらに江添亮氏の監修により原著の間違いを数多く修正し、内容の質を高めている。
 
内容サンプル
 
User Voice
1/18
Kindle版では途中の図のレイアウトが崩れて非常に見にくいです。

1/21 追記
kindle fire (7-inch), PC 版 kindle, Android 版 アプリ では図の表示が乱れます。
何故か iPhone 版アプリでは正しく表示されます。
KINDLE版:中に記述された図がすべて縦に長く引き伸ばされて、まったく何を書いてあるのかわからない。返品するか新しいデータに早く訂正するかしてほしい。まったく使い物にならない。
書店で現物を見た上で購入しました。プログラミング初学者も視野に含めているので、基本的なことから非常に理解しやすい内容になっています。また初学者に生じるであろうストレスに対するホスピタリティにも十分配慮されています。
プログラミングは、規約書の精読だけでは、力は付きません。この書籍で基礎的トレーニングを積んだ後に、プログラミング言語C++ 第4版を持つというのも良いかと思います。その意味で、知識の一夜漬けを求める方には向きません。
最後に翻訳も良く非常に読みやすいです。著者・翻訳者それぞれの立場で、労作でありmasterpieceだと思います。感謝
 
   
人気 67位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 68位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 69位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 70位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 71位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 72位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 73位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 74位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 75位
発売日 0000/00/00
Amazon 50円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 76位
本書の内容
 
内容サンプル
 
User Voice
リバーシ(オセロ)はルールが単純で、千日手・GHI問題がなく、プログラミングの勉強にはよいテーマと思われる。しかし、いまだに答えが出ていないというのは本当か。ルールの実装から、高速化のテクニック、局面の評価手法の数々を網羅し、導入本としては優秀である。
リバーシのプログラムを作ろうとは思ったものの,とりあえず何からとっかかればいいかわからないと思ったらこの本の購入を検討してみるといいと思います.
ネットで信憑性があるか否かを吟味しながら情報を漁るのもいいですが,初めのうちは手元に情報がまとまった参考書があるとスムーズにプログラムの作成に取り組めるのでお勧めです.プログラミングがある程度できることが前提ですが.
学校の教材に指定されたので購入しました。安く購入できて満足です。
 
   
人気 77位
発売日 2001/11/01
(3.6)
Amazon 3,080円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 78位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 79位
本書の内容

静止画/動画の解析や情報抽出の基盤となるコンピュータビジョンライブラリの定番。OpenCVの導入から基本的な使い方、ディープラーニングを用いた応用プログラムまで丁寧に解説!

 
内容サンプル
 
User Voice
Ubuntuでの開発作業が多く、VC++は初めてだったが特に問題はなかった。

もちろんOpenCVの内容としても良かった。

OpenCVで良く使うであろう機能が紹介されており、Pythonが多い中C++で書かれている書籍は少ないので、C++でOpenCVを使う人にはお勧めだと思う。
この本のおかげで全く苦労せずにOpenCVでプログラムを作ることができた。画像処理を始めるのに多くの本を購入したがこの本が最も役立った。この本でOpenCV3 を使いはじめ、後は「詳解OpenCV3」とネットで分からない部分の情報を得ながら、実用プログラムを短時間で組むことができた。(ただし Visual Studio と C 言語は従来から使用していました。)
過不足のない内容で手軽に使える参考書として重宝しています。
 
   
人気 80位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 81位
本書の内容

内山/俊郎
1987年東京工業大学電気電子工学科卒業。1989年同大学大学院修士課程修了。同年株式会社NTTデータ入社。1991年~1993年南カリフォルニア大客員研究員。神経回路網とその画像応用の研究に従事。1999年~2005年通信・放送機構(現・NICT)研究員。分光色再現の研究に従事。2006年~2012年日本電信電話株式会社サービスエボリューション研究所。文書データ解析、レコメンドの研究・実用化に従事。2013年~北海道情報大学経営情報学部教授。「情報システムの設計」および「データ解析入門」の講義などを担当。博士(工学)(本データはこの書籍が刊行された当時に掲載されていたものです)

 
内容サンプル
 
User Voice
 
   
人気 82位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 83位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 84位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 85位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 86位
本書の内容

Visual C++6.0の習得に必要と判断した基本機能について,極めて丁寧な解説を行っている。初心者はもちろん,これから仕事としてVisual C++をマスターしなければならない読者にとっての基幹入門書でもある。一般的なVisual C++の知識は,本書だけで十分習得できる構成である。
【林晴比古の言語入門シリーズ】
プログラム言語の体系的な知識を習得するための入門シリーズ。初心者はもとより,ほかのプログラム言語への移行を考えている人にも最適です。まったくの初心者を対象にした「スーパービギナー編」,最低限必要な基本知識を習得する「ビギナー編」,実践的なプログラムの作成を可能にする「シニア編」など,効果的な学習が可能です。このシリーズでプログラム言語の基礎から応用まで,すべてをしっかりと理解しましょう。

 
内容サンプル
 
User Voice
やりたいことを探すとなかなかたどり着けず、今一つ役立てられませんでした。
もう少しバカ専用なのが良かったです。
私は小学生の頃からロゴライタなどでプログラミングを楽しみ、中学生で
BASIC、高校生でVB、そして今C言語について学んでいます。C言語自体
は有る程度理解できているのですが、Windowsプログラミングというのは
なかなか分かりづらいものです。
この本には基本的なWindowsプログラムを初めとして、写真付きで
VCの使い方や開発手法などが書かれています。私は昔から、プログラム
は自分で打ち込み、何度もエラー画面と戦いながら、ここまで勉強して
来ました。そしてそれが、案外上達への近道なんだと思います。
CD-ROMは付いていませんが、分かりやすいソースコードが付いている
ので、是非勉強してみてはいかがでしょうか?
VisualC++6.0とMFCの使い方を丁寧に解説した定番の入門書です。
MFCプログラミングを1から学びたい人向けの本ですが、
決してC++初心者向けの本ではないので注意が必要です。

また分厚い本ゆえに、読み解くのに時間がかかるので、
学習の為の時間を十分確保して、一気に読んでしまうと良いと思います。
一読後は、シニア編と共にリファレンスとして効果を発揮します。

ページは2色刷りで、レイアウト等は可もなく不可もなくといった印象。
シニア編と合わせると、なかなか値が張りますが、MFCを扱うのであれば、
実用書としてそばに置いておくのも良いと思います。
 
   
人気 87位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 88位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 89位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 90位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 91位
本書の内容

本書は、1991年の初版以来、C++プログラマから絶大な支持を得て
きた『Effective C++』の、内容を新たにした改訂第3版の翻訳書です。第3版に
おいても、C++の効率的な使い方を紹介するのが、変わらない本書の目的です。
C++プログラムを理解しやすく、保守しやすく、移植性をあたえ、拡張しやすく
するために、55個のガイドライン(アドバイス)をもうけています。すべて
の項で、よりよいデザインを考え、よくある問題を避け、自分の期待通り
に動く、より効率的なプログラムを書くためのガイドラインが示されています。

 
内容サンプル
 
User Voice
C++のプログラミングのお作法を学ぶための本です。この本で作法を学んでおくと可読性の高くて効率の良いコーディングが出来るようになります。おまけに他人が書いたオープンソースのプログラムも読みやすくなります。読んでおいて損のない本だと思います。
重要な部分に色付けをしてくれてますので、非常にわかりやすかったです。
C++でプログラミングができる人には
だいたい理解できる内容だと思います。
だだ、洋書なので(?)
ユーモラスというか、言い回しがくどいというか
そんなところが多々ある気がするので
気合い入れて読むというより仕事の合間の息抜きに
読むのがいいと思いました。
「なるほど!」と頭がすっきりしていい感じです。
 
   
人気 92位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 93位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 94位
発売日 2006/10/27
(4.5)
Amazon 1,600円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 95位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 96位
発売日 2005/01/19
(5)
Amazon 1,181円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 97位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 98位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 99位
本書の内容
 
内容サンプル
 
User Voice
 
   

C++ 新書一覧

本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
プログラミング初体験のあなたでも、1週間でC++がちょっとだけ使えるようになれる!

C++でプログラミングを始めてみたいのだけど、どんな本を読んで勉強しても分からない…理解できない…。そんな方にオススメの1冊!
本書を読み進めながら、一緒にサンプルプログラミングを入力してみることで、プログラミングの基礎&C++の基礎が分かるようになり、ちょっとだけC++でプログラムが書けるようになります。

途中で読むことを挫折しないよう、ゆるいペースでナビゲートします!

▼目次
1日目 C言語の基本
2日目 C++の基本
3日目 クラスとオブジェクト
4日目 コンストラクタとデストラクタ/静的メンバ
5日目 継承とポリモーフィズム
6日目 テンプレートとSTL
7日目 覚えておきたい知識

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
冒頭から怖くない・難しくないよと励ましてくれつつ
用語の解説はわざわざ読み方からと、テキストに何気ないところに
著者の優しさが滲み出ています。

1ページに対する情報量も多く詰め込まれてないし
くるま・ねずみ・カラスといった動物を例えに出すなど
分かりやすさに偽りなしの一冊。
C/C++でも飯を食っていますが最新のC++の確認と復習のための入手しました。

黒とオレンジの2色で読みやすいです。
ただ前小口全面がオレンジなのはいかがなものかと。
指の汚れが目立たないような仕様ですかね?

サンプルソースが収録されたCDはありません。
あれって本としては邪魔なんですよね。
入力することでも覚えるので頑張りましょう。(by ベーマガ世代)

実行にはVisual Studio 2019 コミュニティを使います。
環境については一番楽ですからね。
GNUやCygwinだと環境でくじける人が出ると思います。

肝心の内容ですがちょっと飛ばし過ぎだと感じました。
素人さん(by芸人様www)がデータ型一覧とか見て嫌になりそうな気がします。
4バイトの符号なし整数って言われて分かるでしょうか?
少なくともプログラミング初心者には難しいのではないでしょうか?
4バイトの符号なし整数が理解できるプログラミング初心者?
1日でC言語の基礎は無理があるのでは?

2日目以降はC++の基礎を順に追っているので進めやすいと思います。
確かにゆるいペースだと思います。
個人的には業務上ほぼ使わないテンプレートの章は勉強になりました。

参照渡しが最後の「覚えておきたい知識」にあるのはこだわりを感じます。
他の本では割と初めの方に見た気がするのですが、あくまで必須ではない補助的な仕様ということなんでしょう。

ある程度のC言語経験者にお勧めですが、全くの初心者には厳しいと感じたので★-1だけさせていただきます。
初心者の方も1日目のC言語の基本さえ乗り越えればあとは付いてこれると思います。
C++入門書。黒・オレンジ系2色刷り。

無償のVisualStudio2019を用いて学習していきます。
7日で学べるよう7分割されていますが、それなりに量があるので実際に入力しながら学習すると毎日数時間はかかりそうです。一週間で学べなくもないと思います。

C、C++のテキストにありがちですが、基礎の基礎を解説して終わってますので、簡単なプログラムがかけるけど本格的なものが作れるまでの距離すらわからない状態で終わります。
作者もあとがきで、「C++は素人が手を出すものではない」と書いてます。
本書自体は問題ないですが、読み終わってさらに学びたいときの次の1冊探しは大変そうです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2020/10/10
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
-- プログラミング学習サイト「Programming Place」の作者による、C言語習得者のための C++入門書。

本書は、C言語の習得者に向けた、C++ の入門書です。
C言語を使った開発を経験されていることが望ましいですが、一般的な入門書を理解できていれば、読むことができるレベルだと思います。

本書の目的は、いつまでもC言語の世界に留まっていないで、C++ へ移行していただくことです。
C++ は「難しい」「複雑」「巨大」のような、移行を躊躇してしまうようなイメージが多いようです。
C言語に慣れた人の中には「オブジェクト指向」なんていう謎の考え方に馴染めないということで、移行できずにいる人もいるかも知れません。

C++ は、様々なプログラミングスタイルを許してくれる言語です。C++ はオブジェクト指向でプログラムを書くことを強制しませんし、C言語のようなスタイルでプログラムを書くことも許してくれます。
また、C++ に用意されている多数の機能は、その一部だけを導入することができますから、全体像を把握しないと使えないなんてこともありません。
要は、導入の進め方次第で、難易度は大きく変わるということです。

本書では、C言語の延長線上の考え方で導入できると思われる機能を優先して解説しています。
例えば、オブジェクト指向の考え方はほとんど登場しません。それでも C++ への移行には価値があることを示したいと思います。

※本書は、同名の著書の第2版です。
※本書では、環境構築に関する説明は行っていません。
※本書のサンプルプログラムは、VisualStudio 2017、gcc 7.1 で動作確認を行っています。

目次(一部抜粋)
* 第0章 はじめに
** 本書の内容
** 初版との違い
** コラムについて
** C と C++ の歴史
** コンパイラについて
** C++ が難しいというのは本当か
** C より C++ を使うべき理由
* 第1章 基本的なこと
** ファイルの拡張子
** コンパイルの方法
** コメントのスタイル
** 仮引数が空の場合の意味
** main関数の末尾の return文の省略
** タグ名の省略
** ローカル変数を宣言する位置
* 第2章 名前空間
** 名前空間
** std名前空間
** 名前空間の分割
** usingディレクティブ
* 第3章 型と定数
** 積極的に const を使う
** 文字と文字列のリテラルの型
** constexpr変数
** 2進数リテラル
** 桁区切り文字
** キャスト
** 論理型
** ヌルポインタの表現
* 第4章 関数
** 関数宣言
** 関数オーバーロード
** 関数テンプレート
** 入出力機能
** 関数形式マクロを避ける
* 第5章 クラス
** クラスとは
** アクセス指定
** メンバ関数
** constメンバ関数
** コンストラクタ
** デストラクタ
** 変数や関数以外のメンバ
* 第6章 クラステンプレート
** クラステンプレート
** 標準ライブラリのクラステンプレート
* 第7章 動的なオブジェクトの生成
** new と delete
** new[] と delete[]
** new や new[] が失敗したとき
** RAII
* 第8章 C との連携
** C++ から C のコードを使う
** stdio と iostream の連携
* 第9章 乱数
** <random>
** 最も基本的な使い方
** 乱数値の範囲を制御する
** シード値の指定
* あとがき
 
内容サンプル
 
User Voice
 
   
本書の内容
C++は強力なプログラミング言語です。 習得が簡単で楽しいC++。 この本はC++を生き生きとさせ、風変わりでフルカラーのイラストが物事をより明るい面に保ちます。 オブジェクト指向プログラミングを整理し、クラスとメソッドでコードを再利用する方法。

ほんの少しの時間で、C++を使用して設計および開発する方法を学ぶことができます。 この本の各レッスンは、わかりやすいステップバイステップのアプローチを使用して、前のレッスンに基づいており、基本を基礎から学ぶことができます。 明確な指示と実践的で実践的な例は、C++と対話する方法を示しています。

この本は、C++の主なスキルとコーディングを理解するための段階的なガイダンスを教えています。あなたはそれを簡単かつ迅速に学びます。
 
内容サンプル
 
User Voice
 
   
本書の内容
データ構造とアルゴリズムC++の実践、トピック自体は複雑ですが、読みやすく理解しやすいように設計されています。アルゴリズムは、ソフトウェアプログラムがデータ構造を操作するために使用する手順です。明確で単純なサンプルプログラムに加えて、プログラムは、データ構造がどのように見え、どのように動作するかをグラフィック形式で示します。基本的なつのデータ構造をすべてイラストで解説,誌面がフルカラーなので、図の「動き」がわかりやすい,あなたはそれを簡単に、速く、うまく学びます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書の目的は C++11/14/17 を厳密にではなくザクッと広く浅く学ぶための副読本です。(プログラミング初心者向けではありません)

C/C++ を入門書等である程度学んだ技術者や学生が次のレベルにステップアップするために、最低限必要な準備知識を提供する副読本として執筆しました。

※注1:別の書籍で追加更新内容の配信依頼をしたところ、Amazon運営側で「読書体験を損なうおそれのある品質上の問題の対象外」との判断があり、「新たに別の本としてご出版いただくことを推奨」されました。そのため新規内容の追加はAmazon側の方針が変わらない限りは別の本で出版します。Amazonの「品質上の問題」は画像の欠損等の重大な問題が対象のため、修正内容が規約に適合しない場合は正誤表を別途案内します。

内容



- C++11/14/17(基本構文、変数、ループ、条件文、演算子、関数、ポインター、クラス、オーバーロード、UMLクラス図/OOPの基本、初期化、クラス・関数テンプレート、ラムダ式、スマートポインター等、内容を単調にしないために一部の例でデザインパターンもあわせて解説 ※難しいコード例は流して進むことを推奨)
- OSとハードウェア
- 範囲ループとイテレーター
- スコープとリンケージ
- キャスト
- ライブラリー、静的・動的ライブラリー(soファイル等)のリンク
- メモリーの割当(アラインメント、固定長割当)
- テンプレートメタプログラミング
- 3次元プログラミング(OpenGL4/GLM)
- GUIプログラミング(Qt5.8、説明対象はWindowsのみで、クロスプラットフォームの解説は無し)
- STLコンテナ
- STLアルゴリズム
- STL数値計算・乱数ライブラリー
- 正規表現(ECMAscript)
- ファイル入出力
- ビット操作
- ローカリゼーション(エンディアンや変換)
- 確率分布の3次元可視化(OpenGLの章を読んでから目を通すようにしてください)
- Boostライブラリー(文字列処理、ファイルシステム、パーサー、MPL/FusionといったTMPライブラリー、有限オートマトン等)
- テスト駆動開発(GoogleTest)
- makeツール(一部の章では、cmakeとqmakeを使用)
- Pythonモジュールのプログラミング(Boost.Python)

目次



C++プログラミング
初心者のためのHello World!
C++ プログラムを作るための環境
プリプロセッサー
プログラムの構成単位
OSとハードウェア
main関数
変数
ループ
条件文
演算子
関数
using
列挙型
構造体
auto ( C++11/14/17 )
ポインター
メモリー割当
参照
const
typedef
動的割当とヒープ
初期化リスト
範囲ループ

定数式
クラス
例外処理
変数と関数のスコープとリンケージ
暗黙的変換
キャスト
演算子オーバーロード
イテレーター
文字列型
タプル
ビット演算
初期化
STLコンテナ
クラス図
Functor
関数型
ラムダ式
テンプレート
スマートポインター
STLアルゴリズム
正規表現
Makeツール
ライブラリー
fold 式 ( C++17 )
構造化束縛 ( C++17 )
テンプレートの型推論 ( C++17 )
std::optional ( C++17 )
std::invoke ( C++17 )
メタ関数 ( C++17 )
定数式の if 文 ( C++17 )
std::apply ( C++17 )
std::any ( C++17 )
std::variant( C++17 )
Boost.MPL
Boost.Fusion
Boost.Spirit
有限オートマトン
ローカリゼーション
IOストリーム
ファセット
Boost.Filesystem
OpenGL
OpenCV
STL乱数ライブラリー
確率分布の可視化
Qt5
Pythonモジュール
テスト駆動開発型プログラミング
GNU開発ツールとサポートプロジェクト
付録

開発環境



Ubuntu 18.04 または Windows 10(Bash on Windows)、Windows環境ではWindows 10+MSYS2+MinGw(64bit)

コードの検証は以下の環境で実施しています。


- OSは Windows 10Preview Build (Windows設定メニューから入手可能)に付属してくる Bash on Windows および Ubuntu 18.04 (前バージョンの16.04/14.04でも一部のコードは検証済み)
- gcc-7.3(必須)
- clang-6.0(必須)
- Boost 1.65.0(必須)
- GNU Make 4.1(必須)
- Python 3.52 + NumPy(オプション、Pythonモジュールの開発に使用)
- Google Test(オプション、テスト駆動開発型プログラミングに使用)
- CMake 3.62以上(オプション、テスト自動化に使用)
- vim 8.0.124+YCM(オプション、Ubuntu環境のIDEとして使用)



EclipseとCodeBlockは非推奨です。

あると良い知識



- オブジェクト指向プログラミングについての(他言語での)経験
- Ubuntu のコマンド等の基本的知識

第2版の変更内容


以下リンクの箇所を修正しました。

https://mkguytone.github.io/cpp17/pt50.html
https://mkguytone.github.io/cpp17/pt53.html

リンクは「次へ」をクリックすれば次のページを見ることができます。

新版にともない kindle 書籍入稿ページから DRM の変更が可能になったので DRM は解除しました。  
内容サンプル
 
User Voice
C++11/14/17を全網羅しているのではないでしょうか。更に、Boost, OpenGL, OpenCL, Qt5, TDD等もカバーされています。

3000頁を超える大作ですが300円(笑)と、良い意味でコスパ度外視な書籍です(利益度外視という意味です)。著者が本書の「はじめに」で申されていますが「低価格ゾーンの副読本」という位置づけのようですが、はっきり言って、サービス大出血ではないでしょうか(本当に、笑うしかありません、良い意味で)。

これだけの分量を書かれたことに敬服しますし、そのお値段が300円にも恐れ入ります。

内容は間違いなく◎です。なお、副読本とあるように、この書籍で一からC++を学ぶものではありませんが、入門書を読んだ後でしたら、この本から学ぶことは多くありますので、間違いなくおすすめの一冊です。分量は多いですが、平易に書かれていますので、苦なく読み続けられ、読み切れる内容です。

なお、旧版(
 
   
本書の内容
 
内容サンプル
 
User Voice
このライブラリについての数少ない書籍です。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書は経験 1 年以上の C/C++ プログラマーを対象としています。(x86_64 系のアセンブリ言語を軽く読める知識が必要です)

一般的に良く知られた最適化の技法(コンパイラ設計、OS、アルゴリズム等)、行列積計算、OpenMP/TBB等の並列処理ライブラリーを紹介しています。

* コンパイルタイムの処理
* キャッシュ、メモ化
* 遅延評価
* ループ最適化
* ベクトル化(SIMD)
* テイル再帰除去
* ループエクジット
* ループ依存性の削減
* 多重ループのフラット化
* 真偽値の除去
* インライン展開
* データの合成
* 判定条件の整理
* 無駄なイテレーションの削減
* ポインターエイリアシングの処理(restrict 等)
* アラインメント

以下については他の本で紹介済みです。

* ビット演算 ( C/C++ Bit Hacking )
* プリフェッチとアセンブラ最適化 ( C/C++ プログラマーが予備知識として学ぶIntel64/MIPS32アセンブリ言語プログラミング・コンピューターアーキテクチャー改訂第二版 )
* アロケータ最適化 ( Linux で C/C++ の足固め: メモリー/ファイル/mmap (kernel 4.18.16)、malloc (glibc2.7)、アロケーター(C++11/14/17 ))
* string_view の SSO(Small Size Optimization) ( C++11/14/17 プログラミング )

これらのトピックのうち string_view を除くものは、本書のターゲットであるコードの最適化、構文の最適化から外れてしまうので、ご興味があればそちらを読んでください。

注意



本書はコード最適化の技法や仕組みを学ぶ際の参考情報として読んでください。仕組みを学ぶことが趣旨であり、コーディングはこうあるべきという論を発信してはいません。最適化の技法を教養として学びたい方向けです。

本書でまとめた最適化技法には「コンパイラ設計」発のものが一部含まれるため、自前でコンパイラを作る前の準備知識にはなると思います。しかし、関数ポインターやポインターエイリアシングで最適化を行いにくいか、コンパイラが不完全な状況を除けば、コンパイラが自動でテイル再帰除去、インライン展開、共通部分式の除去等の最適化をやってくれるので、一般的なアプリケーション開発で手動での最適化を行うと可読性を損なうだけの可能性があります。

最適化技法を盲目的に適用せずプロファイリング(profiling が可能な場合)やベンチマークを取りながら試す事を推奨します。

なお文体は口語体なため、ブログ調に拒否感のある方にはお薦めしません。

検証環境



- Ubuntu 18.04
- gcc/g++ 7.4
- clang/clang++ 6.0
- linux kernel 5.1.21
- gdb 8.1
※ C++17 をサポートしてるコンパイラが必要です。

内容



本書がカバーする内容は大きく 4 つに分けられます。

* コード最適化
* 言語仕様(エイリアシング等)
* 行列積
* OpenMP / IntelTBB
* コンパイルタイム最適化の事例(チューリングマシーンやλ計算)

目次



コード最適化の基本技法
代数的に等価な式の代用
乗算を加算に展開する
しきい値までの単調増加
ループエクジット
条件式の再配置
__builtin_expect
データの合成
真偽値の除去
インライン展開
共通部分式の除去 (Common Subexpression Elimination)
コンパイルタイム初期化
テイル再帰除去(Tail Recursion Elimination)
遅延評価
キャッシングとメモ化
関数パラメーターのキャッシュ
事前評価(Precomutation)
無駄なイテレーションの削減
ループ・アンローリング (Loop Unrolling)
パーシャルアンローリング (Partial Loop Unrolling)
ループの依存性の削減
ループの結合 (Loop fusion)
ループ不変(Loop Invariant)
多重ループのフラット化による並列可能性
コード最適化の実践
コンパイラ向けの最適化
コンパイラ最適化(エイリアシング)
C11 の厳密エイリアシングルール(strict-aliasing rules)
エイリアシングルールの例外: char*
C++ 規格と最適化の関係
C++17 の修飾子変換
C++17 の厳密エイリアシングルール
関数パラメーターのエイリアシング ( C++17 )
ポインターエイリアシング
値渡し( Pass by Value )
厳密エイリアシングルール( strict-aliasing rules )による警告
char*
restrict による明示
コンパイラ最適化のボトルネックとしての関数ポインター
関数ポインターと仮想テーブル(vtable)
メモリーレイアウト(配列)による最適化
キャッシュライン
フォルスシェアリング
オブジェクトのアラインメント
キャッシュライン (pahole ツール)
Array of Structure (AOS)
Structure of Array (SOA)
AOS のアラインメント
メモリーアクセスパターン(行列積)
行列積の計算
行列積の計算 (多次元配列)
外部ループ(Outer Loop)と内部ループ (Inner Loop)を交換して空間局所性を上げる
gcc に最適化させる
行列のフラット化(1次元化)
行列転置による空間局所性の最適化
行列のブロック化・タイル化
SIMD
アラインメント(スタック)
アラインメント(ヒープ)
メモリーレイアウト:AOS と SOA をスタックにしてみる
アクセスパターン: AOS と SOA
エイリアスチェック
GCC が SIMD 化できてるケース
OpenMP
OpenMP
OpenMPの開発環境
OpenMP の parallel 指示文
OpenMP の for指示文
OpenMP parallel for
OpenMP collapse
reduction
schedule
task
フィボナッチ数列(共有変数)
OpenMP のロック (omp_lock_t, omp_set_lock, omp_unset_lock)
OpenMP でスレッドセーフなキュー
OpenMP クリティカルセクション
行列積の並列計算 (OpenMP)
シリアル処理との比較
TBB
Intel Thread Building Block (Intel TBB)
Intel TBBのインストール
ハローパラレルワールド
tbb::parallel_reduce
reduce でラムダ式
TBB のパイプライン
tbb::concurrent_vector
tbb::concurent_queue
tbb::concurrent_bounded_queue
tbb::concurrent_priority_queue
tbb::concurrent_unordered_map
tbb::concurrent_hash_map
TBB のフローグラフ
バッファーノード
tbb::flow::split_node (マルチプレクサ)
tbb::flow::join_node (ディマルチプレクサ)
tbb::flow::queue_node
composite / join / split ノード
加算器(デジタル回路)
tbb::task
constexpr でコンパイルタイム計算(おまけ)
抽象的な計算モデルのエミュレーション
チューリングマシーン
チューリングマシーン( 3-states 2-symbols ビジービーバーゲーム)
Tape を修正してパフォーマンスの計測
チューリングマシーンを配列に修正して、コンパイルタイム最適化
λ 計算 (lambda calculus) とチャーチ数を実装する
λ 計算の基本
コンパイルタイム計算のチェック
分岐
チャーチ数
チャーチ数の最適化を評価
付録
付録 A: チューリングマシーン ( 加算 )
付録 B: チューリングマシーン ( 減算 )

※1月29日に「SIMD」「アラインメント」〜「GCC が SIMD 化できてるケース」の連続した章の位置を、「行列のブロック化」の後に移動しました。それ以前に購入された方は、SIMD の章は後回しにして読むようにしてください。  
内容サンプル
 
User Voice
 
   
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

はじめてでも大丈夫! アプリを作る楽しさがこの1冊だけで体験できます

本書はプログラミングがまったく初めての人でも、簡単なサンプルを作りながら、Visual C++を使ったWindowsアプリの作成を楽しく体験できる入門書です。アプリ作成には無償で入手できるVisual Studio Community 2019を使います。全6章を順番に進めることで、Windowsアプリの基礎知識、Visual Studioの使い方、画面のデザイン、コードの書き方などが理解できます。章ごとに短いトピックで区切られているので、自分のペースで学べます。PCスクールなどの教材としても適しています。
本書は2018年3月発行の『アプリを作ろう! Visual C++入門 Visual C++ 2017対応』を、執筆時の最新情報に合わせて改訂したものです。

●本書で作るサンプルアプリ
本書では「サイコロ予想ゲーム」を作りながら、Visual C++の基本操作とプログラミングの基礎を学習します。サイコロの目が奇数か偶数かを当て、当たると得点になるシンプルなゲームです。当たりかはずれかに応じて画面が変化します。

●本書の特長
・必要な手順をもれなく、ていねいに説明!
・手順どおりに進めるだけでアプリが完成!
・学習用ファイルがダウンロードできます!  
内容サンプル
 
User Voice
別のストアで電子書籍版後購入。内容を全て読破し、サイコロゲーム実装を完遂しました。

とりあえず、動くWindowsのデスクトップアプリを作る流れは理解出来ます。ただ、デスクトップアプリの雛形ではなく、わざわざ空のプロジェクトからスタートなのは何でだろう? デスクトップアプリがターゲットなのに・・・。
内容は図解がほとんどで、分かり易いです。コード量もそんなに多くなく、初心者でも取っ掛かり易い内容と思いました。

ただ、コードの内容は学生レベル、あるいはそれ以下です。言われた通りに書いていくと、インデントはめちゃくちゃだし、ヘッダに直接実装する事になるし。企業のコードレビューであれば、ダメ出しの嵐でしょう。また、コードの解説ではなるべく分かるよう深い部分はタッチしていないので、コーディング力を磨ける内容ではありません。本当に、VisualStudioを使ってアプリを作る簡単な流れを身に着ける為だけの内容です。

初心者向け、という点では良心的(投げ出し難い)ですが、一方でコーディング思想を悪い方向に導きかねないコード内容と思います。ゲーム完成後は大した補足もその後の言及もないので、実装し終わった後への展望を読者が掴み辛いです。これで\2200はちょっと高いかな・・・。
 
   
本書の内容

Visual C++パーフェクトマスターの2019年版となります。

 
内容サンプル
 
User Voice
長い目で見れば文法書は文法書を、Visual StudioはVisual Studioの専門書を、
それぞれ別冊で揃えたほうが最終的にコスパは良いです。
ボリュームは有りひとまず手も動かせはしますが、どちらも中途半端だと思いました。
ありがたく大変役に立っていて、業務でとても助かったいます。ありがとうございます。
 
   
発売日 2019/11/11
(3.8)
Amazon 3,718円 Kindle 3,532円
本書の内容

標準教科書がC++17に対応し、
完全書き下ろしリニューアルで9年ぶりに新登場!

システム開発者、ゲームプログラマーをはじめ、
すべてのC++学習者、待望の解説書。

boostコミッターの著者により、
旧版の特徴である「扱う内容の深さは」そのままに、
より自然でわかりやすい解説に完全リニューアルしました。

言語仕様の初歩から標準ライブラリの基礎まで、
より丁寧で、より詳しい解説となった一冊です。

===目次===
- 第1章 C++の基本的な言語機能(1)
- 第2章 C++の基本的な言語機能(2)
- 第3章 クラス
- 第4章 分割コンパイル、ビルド
- 第5章 配列、ポインター、右辺値参照
- 第6章 演算子オーバーロード
- 第7章 継承
- 第8章 入出力システム
- 第9章 テンプレート
- 第10章 例外処理
- 第11章 実行時型情報とキャスト演算子
- 第12章 データ構造とアルゴリズム
- 第13章 文字列処理

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
今月出版のモダンc++の参考書ということで、気になって購入しました。結論から言うとかなり良書です。

ざっくりした感想としては期待通りモダンなc++の機能を体系的に学べる良い参考書だと思います。次郎系ラーメンのような超ボリュームですが、問題演習やサンプルコードなどを毎回出してくれてるので、しっかり手を動かして学べばかなり力が付きそうな印象です。
あとサンプルコードが頻繁にクラス単位で纏められて出てくるのでVisual Studio 2017でコーディングしてる自分にはソースを何回も上書きして写経しなくていいので地味に嬉しいところです。クラス追加するだけで動作確認が出来るので。
(つまり基本的な.cpp, .hファイルの分割法やクラスの作り方や性質を知っていた方がスムーズに学習できる)

説明文は丁寧かつ厳密さを重視しているようでこれが分かりやすいかと言われると人によると思います。初めて出てくることも割とあっさりした説明が多いので、冒頭でも言われてることですが「これはこういうもの」と納得して一回で覚えようとしない方が挫折しにくいと思います。

本当の入門者向けではないと思います。基本的なことは割とサラッと触れられる程度です。「やさしいc++」とかで簡単な文法を勉強し、オブジェクト指向に関して「スッキリわかるJava」(他言語ですが文法や構造が似ている?)とかでである程度勉強してからこの本に行くとスムーズに学習が進むと思います。

あと他の方も言われてますが誤植多いです。まだ出版されて間もないのでしょうがないですが、正誤表に載ってない誤植もしばしば出てくるので正誤表、お問い合わせを活用して第2版が出ればいいなと思いました。
全体的にとてもまとまった良い教科書だと思います.
ただ,本文,プログラム例,実行結果ともに誤植が非常に多いです.自分で誤りに気づけるぐらいの理解力がないと混乱します.
 
   
本書の内容

内山/俊郎
1987年東京工業大学電気電子工学科卒業。1989年同大学大学院修士課程修了。同年株式会社NTTデータ入社。1991年~1993年南カリフォルニア大客員研究員。神経回路網とその画像応用の研究に従事。1999年~2005年通信・放送機構(現・NICT)研究員。分光色再現の研究に従事。2006年~2012年日本電信電話株式会社サービスエボリューション研究所。文書データ解析、レコメンドの研究・実用化に従事。2013年~北海道情報大学経営情報学部教授。「情報システムの設計」および「データ解析入門」の講義などを担当。博士(工学)(本データはこの書籍が刊行された当時に掲載されていたものです)

 
内容サンプル
 
User Voice
 
   
本書の内容
効率性を柔軟性を兼ね備えたプログラミング言語として進化を続けるC++。本書は、次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説していく。プログラミング経験者を主要な対象としているが、解説を進めるに当たっては、その時点で学習した知識だけを利用して新しい知識を学ぶ方法(知識のブートストラップ)が意識されており、プログラミング初心者であっても新しい機能、知識の理解を無理なく行えるようになっている。C++の実行、デバッグ、基本的な文法、アルゴリズム、オブジェクト指向、テンプレート、メモリ管理、乱数など、C++による本格的なプログラム開発に必須の知識を網羅した本格的な入門書である。  
内容サンプル
 
User Voice
* 普通の入門書とは違う構成、考え方での内容。
* 入門書でありながら、大事なポイントを集中的に説明。
* シンプルな例文中心の説明

*まったくの初心者より、他の入門書を読んだ人にもっと向いているかも
(初心者向けの内容から中級的な内容への流れ)
最初本書を見つけた時、胡散臭い坊主頭のおっさんの写真がデカデカと載っていて、買うのをためらったが、
中身はかなり丁寧に解り易く書かれていて、良い買い物をしたなと思った。
ページ数は600ページを超える大作ではあるが、それだけ説明が丁寧なのである。
C++に携わるプログラマーは、どちらかと言うとプログラミング上級者(CやJava,Pythonなどを経験した人)が
多いと思われるが、本書はコンパイルやリンクの仕方から懇切丁寧に始まっており、プログラミング言語全くの
未経験者でもC++という上級向け高級言語に十分チャレンジ出来るように導いてくれている。
まさに仏様の様な本なのである。
さすが著者がご住職という事だけある(←嘘です。坊主頭の写真がインパクトありすぎて、言ってみたかっただけです。w)
初めての人に加え、思い出したり、最新の状況にキャッチアップするのにも最適だと思います。
さらっと読み通しただけですが、継承についての記述が無いですよね?それはそれで意図的だとは思います。
 
   
発売日 2019/10/02
(5)
Kindle 300円
本書の内容
本書は経験 1 年以上の C/C++ プログラマーを対象としています。ビットハックはシステムプログラミング・ライブラリで頻繁に使われるので、ソースコードリーディングの上達や、コードの最適化をする際にも役に立つはずです。

※近日発売予定の「コード最適化」の本とは補完関係にあります。

内容

ビットハックはセキュリティのハッキング(クラッキング)とは似ても似つかぬものですし、広義のハッキングである OS やネットワークを分析していじりたおす作業とも微妙に違います。

本書で取り扱うビットハックは応用別で分類すると以下のようなものになります。

- メモリー空間の削減による最適化(ビットアレイ、ビットフィールド等)
- 信号・エラー検知(パリティ、グレイコード等)
- 数値計算(デブルイン、2 のべき乗のまるめ、log 計算等)
- コード最適化(ブランチレス処理、スワップ、レジスター内並列化等)
- 組み込み・OS(標準ライブラリを使わない数値処理等)
- その他(ビッグ・エンディアン、リトル・エンディアンの変換、シャッフル、モートンテーブル)

※注1:文体は端的でカジュアルな表現を心がけたので、ブログ調にアレルギーのある方は読まないほうが良いでしょう。
※注2:Amazon運営側は「読書体験を損なうおそれのある品質上の問題の対象外」を「新たに別の本としてご出版いただくことを推奨」しているため、対象外の修正内容は新版として出版します。

対象となる読者

- linux コマンドの基本的理解
- C/C++ の基本的な理解と x86 アセンブリ(Intel 64/AMD64)の理解が必要です。
- C/C++ と Intel 64/AMD64 の経験年数としては 1 年ぐらいはあったがほうが良いかと思います。 

検証環境

検証環境は Ubuntu 18.04 を使っています。

- gcc-8 (v8 でなくとも極端に古くなければ大丈夫だと思います)
- Ubuntu 18.04 linux カーネル 4.20.16 とカーネル 5.1.21
- perf のインストール

perf はパフォーマンスの計測に使うので、別途インストールする必要があります。

インストールの詳細は Appendix A perf ツール ( Linux カーネル 4.20.0 の事例 ) を参照ください。

目次

C/C++ ビットハック
序文
対象となる読者
ビットハックの基本
ビットハックとは
ビットハックの基本演算
De Morgan の法則と証明なしの拡張
ビット式の関係
最下位セットビット (Least Significant Bit / LSB)
セットビットのカウント( popcount )
ビットマスクを自前で用意する方式 (64 ビット)
GCC 組み込み関数(popcount/clz/ctz)
オッドパリティの XOR 計算
ビット部分集合の判定
ビットの変換
ビットスワップ
関数実装の際にポインターエイリアシングを避ける方法
参照を避けることを好む側の理由
指定したインデックスのビットフィールドの交換
フィールド交換からポインター使用の回避
バイトオーダーの反転(リトルエンディアン、ビッグエンディアン)
ビットローテーション
ビット反転 (bit reverse)
ビッ卜シャッフリング
グレイ・コード( Gray Code )
モートンテーブル
条件式
ビット比較演算
ブランチ
ブランチコードのパフォーマンスの計測
ブランチレスコードのパフォーマンス計測
数値計算
単項演算子
ブランチレス DOZ (Difference or Zero) と MAX/MIN
符号
符号判定
絶対値
シンプルな絶対値関数の実装
ビット乗算
加算と減算
同じセットビット数で次に高い整数を見つける
指定値を 2 のべき乗にまるめる(端数処理)
対数(log2)の計算
対数の計算をデブルーインシーケンス(DeBruijn Sequence)を使って行う
データ構造
ビットフィールド
i 番目のセットビットのインデックス
ビットアレイ
Nクイーン問題  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書は C/C++ プログラマーが Linux で C/C++ プログラミングの応用練習をする際の副読本・実験ハンドアウトとして執筆しました。

前半で Linux カーネルや glibc のソースコードリーディングによってメモリーとファイル関連のシステムとライブラリーを浅く広く理解し、後半で C++ アロケーターを作っていきます。

▼サンプルがあります▼
https://mkguytone.github.io/allocator-navigatable/

※注1:文体は端的でカジュアルな表現を心がけたので、ブログ調にアレルギーのある方は読まないほうが良いでしょう。
※注2:Amazon運営側は「読書体験を損なうおそれのある品質上の問題の対象外」を「新たに別の本としてご出版いただくことを推奨」しているため、対象外の修正内容は新版として出版します。

システム環境

- Ubuntu 18.04 (Windows 10 WSLは不可)
- Linux カーネル 4.18.16 (UKUUでインストール)
- glibc 2.7
- GCC-8.2.0
- GDB-8.1.0

前提知識

Unix の基本コマンドの実用的知識と C/C++ でのコーディングの経験が 1 年ぐらいあると望ましいです。

対象となる読者

本書は Linux 環境 C/C++ で色々と試行錯誤をしながらプログラミングしたい方向けです。

必要な知識・スキル

- Unix の基本コマンドの実用的知識
- C言語/C++のプログラミング
- 拙著「C++プログラミング(C++11/14/17)」のGDB・ライブラリーの章
- 拙著「C/C++プログラマーが予備知識として学ぶIntel64/MIPS32アセンブリ言語プログラミング・コンピューターアーキテクチャー改訂第二版」のメモリーアーキテクチャの章

正誤表

Linux のファイルシステムの章の「 file (カーネル)」の項目内に「 kmalloc() / vmalloc() / alloc_pages() 等の関数で確保したメモリー領域」と途中で途切れた行がありますが、不要な文なので無視してください。

筆者が内容にデバイスドライバを含めるか悩んでいた痕跡ではありますが、時期尚早と判断すべきところを、迷ったまま本文に該当する行を残してしまいました。

時間の都合により初版ではデバイスドライバの説明は入れませんでしたが、簡単なハローワールドプログラムでも書いておけば、中途半端に文章が終わることは無かったので、次の版では大幅に加筆修正する予定です。

Linux で C/C++ の足固め: Linux の メモリー/ファイル/mmap、malloc、C++ アロケーター

序文
対象となる読者
前提知識
開発環境
Linux と POSIX C
echo コマンド
シェルの確認
/dev ディレクトリー
echo のリダイレクト
アペンド
リダイレクトのファイル記述子
ファイル記述子間のリダイレクト
exec (bash)
ファイル記述子を閉じる
読み書きファイル記述子
/proc ディレクトリー
/dev/shm ディレクトリー
Linux (POSIX) のファイル入出力
system 関数
lseek()
fopen / fread / fwrite / fclose 関数
Linux でメモリー割り当て
32 ビットプロセスのレイアウト
malloc (cstdlib)
malloc を strace で検証してみる
ASLR と共有オブジェクト
MALLOC(3) Linux プログラマーマニュアル
brk / sbrk (unistd.h)
gdb で sbrk() の解析
strace によって brk() / malloc() のコールをチェック
glibc から malloc() の基本構造を理解してみる
malloc() の内部実装
アリーナによるマルチスレッド対応
アリーナオブジェクト( main_arena / malloc_state )
ヒープのヘッダーオブジェクト( heap_info )
チャンク( malloc_chunk )
チャンクサイズ
malloc_par
top チャンク
ビン
未整理ビン / スモールビン / ラージビン
ビンのインデックスの計算
32 ビットアーキテクチャのビン
64 ビットアーキテクチャのビン
ビン・インデックスのまとめ
ビンのチャンク連結
ビンの初期化
未整理チャンク( Unsorted Chunk )のマクロ
トップチャンク( Top Chunk )のマクロ
Binmap のマクロ
tcache
malloc() フリーチャンクの挙動
malloc.c の内部マクロ
チャンクを取り扱えるマクロ
ファーストビンの解放
malloc.c の内部関数
malloc()
_int_malloc() 関数
free()
calloc()
realloc()
alloca() 関数
alloca() の使用法
posix_memalign() / aligned_alloc()
glibc-2.7 の内部実装
アラインメントの仕組み
アラインメントの最少サイズ
大きめのアラインメント
複数のアラインメントでの検証
std::launder ( C++17 )
std::aligned_storage ( C++11 )
std::align ( C++11 )
std::aligned_alloc ( C++17 )
Linux カーネルのメモリーとファイルシステム
Linux の仮想メモリーエリア・メモリー記述子
メモリー記述子( mm_struct )
仮想メモリー領域( vm_area_struct )
ページ記述子( struct page )
ページとブロック
バッファー ( buffer_head )
ブロック I/O ( bio )
ページのキャッシュ
スラブレイヤー・スラブアロケーター
ファイルとメモリーのマッピング (mmap)
ページとハードウェア
ページキャッシュ ( struct address_space )
Linux のファイルシステム
カーネルヘッダー ( /usr/src/ )
カーネルソースのアーカイブ
super_block (カーネル)
inode (カーネル)
dentry (カーネル)
file (カーネル)
stat 構造体
mmap
mmap の使い方
マルチタスクで使えると共有メモリーオブジェクト
fork()
fstat 関数を使ってファイルサイズを指定する場合
MAP_PRIVATE の Copy-On-Write
fork() で MAP_PRIVATE の Copy-On-Write を検証
MAP_ANONYMOUS
アノニマスマッピング
/dev/zero
(汎用ではない)カスタムアロケーターの設計
アロケーターに必要な最低限の関数・オーバーロード・テンプレート
std::allocator を使うだけのリファレンスアロケーター
std::allocator を模したカスタムアロケーター
スタック領域に割り当てるアロケーター
配列内のアドレスの走査
ヒープへのフォールバック付きスタックアロケーター
コードをシンプルにする(内部バッファーのアドレスかのチェック)
ヒープ領域のアドレスに割り当て
malloc を使ってヒープに割り当て
カスタムヒープアロケーター
static オブジェクトはヒープっぽい領域に割り当てられるはず?
アロケーターをスタティックメンバーにするとどうなるのか?
アロケーターをセレクターで切り替え
アロケータークラス内での複数の割り当て方針を切り替え
C++ カスタムアロケーターの STL サポート(実験)
C++ カスタムスタックアロケーターの用語の復習
STL コンテナのサポート ( new / delete )
STL サポートの適用対象
STL コンテナ側のメモリー割り当て要件
mmap() を使ったカスタムアロケーター
ユーザーによるオブジェクト管理を前提にするカスタムページアロケーター
カスタムアロケーターによるブロック管理
(おまけ)アロケーターのポリモーフィズム
メモリーリソースクラス
std::experimental::pmr::memory_resource ( C++17 )
memory_resource でアラインメントの実装(非実用的な実験です)
ポリモーフィックアロケーター
std::pmr::polymorphic_allocator ( C++17 )
std::experimental::pmr::vector コンテナ ( C++17 )
std::pmr::polymorphic_allocator の動作チェック
ポリモーフィックアロケーターの実装  
内容サンプル
 
User Voice
 
   
本書の内容

誰も教えてくれなかった、
ゲーム開発の基本を徹底的に学ぼう!

・ゲームとはどんなプログラムなのか?
・「あの機能」はどうやって実装されているのか?

3Dグラフィックスからサウンド、AIまで。
ゲームプログラマーになりたい人のみならず、
すべてのゲーム開発者が知っておきたい「基本」が詰まった、
ゲーム開発の教科書!

C++の初歩は習得済みで、本気でゲームプログラミングを学びたい人が、
新人になる前に、確かな基礎力を磨ける一冊。

====目次====
Chapter 1 ゲームプログラミングの概要
Chapter 2 ゲームオブジェクトと2Dグラフィックス
Chapter 3 ベクトルと基礎の物理
Chapter 4 人工知能(AI)
Chapter 5 OpenGL
Chapter 6 3Dグラフィックス
Chapter 7 オーディオ
Chapter 8 入力システム
Chapter 9 カメラ
Chapter 10 衝突検知
Chapter 11 ユーザーインターフェイス(UI)
Chapter 12 スケルタル(骨格)アニメーション
Chapter 13 中級グラフィックス
Chapter 14 レベルファイルとバイナリデータ
付録A 中級C++の復習

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
当方は情報系の大学院生でゲーム作成はまったく畑違いなのですが、最近c++やJavaなどのオブジェクト指向言語を使った開発現場への就職が決まったのでその勉強も兼ねて趣味でゲーム作成してみようと思ったのがきっかけで本書を手に取りました。結論から言うとむちゃくちゃ良書だと思いますが、挫折する人多そうだなというような印象です。予めc++言語をかなり勉強して使えるようになっておかないと(クラス、継承、クラスポインタ、STL、演算子オーバーロード、テンプレートなど)読み進めるのが厳しいと思います。自分の場合は目的が「ゲーム作りたい」ではなく「c++言語をもっと実践的に使えるようになりたい(ゲームを0から作れるくらいに)」なので楽しく読めているのかと思います。

・ソースコードをサッと見て大体挙動が理解できる。クラス多重継承とかオーバーライドとかクラスポインタとか色々出てきますがそれらを見て気分が悪くならない人向けです。
・Visual StudioでSDL2とかSDL_imageとか外部ライブラリを導入する必要があります(Mac版もあります)。Visual Studio向けの開発キットがネットからダウンロードできますのでネットでやり方ぐぐって自分で解決しないといけません。(そんなに難しくないと思うけど)
・コードを書き進めながら何度も反復して練習する必要有です。
・内容はめちゃくちゃ良かった(そして濃い)です。UnityとかUnreal Engineとか触ってなんとなくゲーム作った経験があるのですが、その後の応用が利かなかったりモチベーションが維持できなかったのは単純に圧倒的に基礎が疎かであったことを教えられた気がします。
・ソースとヘッダーファイルを行き来するのでディスプレイ2つか3つくらいあった方がいいです。てかないとしんどいです買いましょう。
・ほとんどのソースはweb上(git)に挙げられています。「ゲームプログラミングc++ git」とかで検索すると本書のソースコードが全てgitに章ごとに区切られて保管されています。基本的にはgitのソースと本書を交互に読みながら進めることになります。

ものすごいボリュームですが何度も読んでいると確実に力が付きそうな印象です。素人意見ですが今の時代でもゲームエンジン使う使わない関係なく持ってて損はない本じゃないかと思いました。
実際に作品を作りながら進むので、モチベーションが維持しやすいです。
SDLなど、外部資源を利用しますが、導入方法などには一切触れていません。
あくまでも「プログラミング」に注力されており、そのための環境構築の説明はほぼ記載がありません。
構築後の利用方法は詳しく書かれています。

海外のレビューでは、
「環境構築の説明がない!」
「SDLのライブラリが違うんだけど!」
「ファイル数多すぎるし、行ったり来たりするし、わけわからん」
「解説がないファイルがあるんだけど」
との批評もあります。

この書籍をうまく利用できる方は以下のような方だと思われます。
1.ググる能力がある
2.モニターのサイズがでかい、あるいはデュアルディスプレイ(プロジェクトあたりのファイル数が多く、往復が頻繁)
3.高校1年生レベルの数学、物理の知識

「わからなければググれ。似たような説明は2度としねえよ。ソース全部説明してたらきりがないから、GitHubにあるソース見て自分で理解しろ。」
という感じ。

--追記--
著者のサンプル(完成品)をローカルで実行出来ない方がいらっしゃるみたいです。
以下、実行時の画面を載せました(著作権の関係もあるため、コードは載せません)
https://www.youtube.com/channel/UCF4KPSCZOHTh9ecPDmQzhkA
UnityやUnrealEngine4などのゲームエンジンを使って簡単なゲームを作ってみたよってレベルでは読み進められないなと思いました。
ゲームエンジンを使って自分の作りたいゲームを自分で作れるレベルの人が、より深くゲームエンジンについて学びたいときに使うと良いと思います。
ゲームの作り方ではなく、ゲームエンジンの作り方に目的がある人にオススメです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
『新・明解C++入門』の姉妹編、ここに刊行

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

C++を用いてオブジェクト指向プログラミングの基礎を学習するための入門書です。

まずは、クラスの基礎から学習を始めます。データと、それを扱う手続きとをまとめることによってクラスを作成します。それから、派生・継承、仮想関数、抽象クラス、例外処理、クラステンプレートなどを学習し、オブジェクト指向プログラミングの核心へと話が進んでいきます。その過程で、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めていきます。最後の三つの章では、ベクトル、文字列、入出力ストリームといった、重要かつ基本的なライブラリについて学習します。
本書を通して、読者は、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めることができるでしょう。

なお、本書は、『新・明解C++入門』(2017年12月刊行)の姉妹編であり、『新・明解C++入門』でC++の基礎を学んだ読者にとって最適なテキストです。

●目次
はじめに
第1章 クラスの基礎
第2章 具象クラスの作成
第3章 変換関数と演算子関数
第4章 資源獲得時初期化と例外処理
第5章 継 承
第6章 仮想関数と多相性
第7章 抽象クラス
第8章 多重継承
第9章 例外処理
第10章 クラステンプレート
第11章 ベクトルライブラリ
第12章 文字列ライブラリ
第13章 ストリームへの入出力
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
今まで、FORTRAN、COBOL、BASIC、PL/I、C言語、Perl、PHP5、C++、C#さらには、SQL、HTML5、CSS3、JavaScriptなど各種プログラミング言語の習得に努めてきたが、やはりC++がいちばん難解である。
望洋先生のアルゴリズムは簡潔で洗練されているため、数学的素養のない自分には理解するのが大変であるが、挫折しそうになる心に鞭打って、先を急がずに毎日ちょっとずつ進めているところである。
しっかりした内容で、申し分のない、安定したクオリティーです。有難うございます。
解説はすごく良いのですが、ページのレイアウトが独特なため、とても読み辛いです。

これまでたくさんの技術書を読んできましたが、その中でも抜群に読み辛い。

本の帯に「この本は技術者である筆者が直々にデザインしたので云々〜」みたいなことを書いてましたが、
ちゃんとしたプロのデザイナーの方に編集してもらったほうがいいかと思います。

ただ、繰り返しですが、部分部分の解説はすごく分かりやすいので、もったいないなと思いました。
 
   
本書の内容
telloをプログラミング
メジャーな言語でプログラミング
Python,C,C++,C#,javascript,php,go,visual basic


コンピュータ・サイエンスのスキルを身につけることは、皆さん自身の未来のみならず、私たちの国の未来にとっても、大事なことです。アメリカという国が最先端であり続けるためには、皆さんのような若い国民に、今後の世界のあり方を変えるようなツールや技術について、学んでもらわねばならないのです。だからこそ皆さんに参加をお願いしています。
•新しいビデオゲームを買うだけでなく、自分で作りましょう。
•最新のアプリをダウンロードするだけでなく、創りましょう。
•スマートフォンで遊ぶだけでなく、プログラムしてみましょう。

初めからコンピュータ・サイエンスの専門家の人なんていません。しかし、少しの努力と数学と科学の知識で、誰でもコンピュータ・サイエンティストになることができます。

これは2012年にオバマ大統領が国民に向けたビデオメッセージの一部です。

今の時代は、第4産業革命と言われています。18世紀にはじまった。技術変化のは著しいものがあります。第4産業革命はIOTとAIです。すべての機器がインターネットに接続され、人工知能が人間の代わりに仕事をしてくれます。

このベースになるのがコンピュータとプログラムです。いろいろなサービスをするためプログラムが必要となります。
プログラムとは、和訳すると「番組表」「計画」「予定」という意味になります。実は意識していないだけで普通に使っている言葉です。コンピューターにさせたい仕事を順番に書いていくことです。プログラムを作ることをプログラミングといいます。

オバマ大統領のメッセージは、皆さんのコンピュータ・サイエンススキルで、これからの世界を自ら作りあげていただきたいとのことです。

「プログラミングって聞いたことがあるけど、なんかよくわからない」
「いったどんなことをすればいいのだろう」
「なにができるのかわかんない」

みんなこんな状態です



プログラミングでなにができるかというと

パソコンやスマフォのアプリケーションを作ることができる
WEBの世界を作れる
ゲームを作ることができるg
単純作業を自動化できる
IOT機器(組み込み機器)を作れる
工業ロボットを作れる
自分で考えたサービスを形にすることができる

ほかにも無限にあります、みなさんの周りにあるもの=電気を使うもの=プログラムが組み込まれています。

2020年から小学校でも英語とプログラミングが必修になります。それに伴いプログラミングに関心が集まり、様々な取り組みが行われております。
Scracth,やblocklyのビジュアルプログラミングは、小学生が初めてプログラミングに取り組むにはとてもよくできた教材です。
社会ではこのビジュアルプログラミングに似たものはnode-redやblueprintがありますが特定の分野でしか使われていません。


ビジュアルプログラミングの次は!

人間の話す言語は地球上に数千あるといわれています。同様にプログラミング言語も数百あり、現在も進化し増えています。
それぞれ得意分野が異なります。皆さんもこれからプログラミングを行っていく上でいろいろな言語に触れる機会があると思います。
一つの言語ではなく多数の言語を覚えることは、アプリ開発の効率に大きく影響します。言語はあくまでもアプリを作るための道具です。状況に応じて言語を変えることが重要です。


主流はpython,java,c,c++,c#,javascript,go,php,swift,vb,ruby,vbaなどです。
ビジュアルプログラミングを卒業して、皆さんが取り組むのはこれらの言語です


それでは、プログラミングでの表現の方法はどのように違うか?

私が思うに、人間が話す言語と同様に根本的な違いはないと思われます。表現が違うだけで、全く同じ動作をするアプリが作れます。人間だって異なる言語で同じことを伝えることをしています。
みなさん是非とも、バイリンガル、トリリンガルではなくもっとたくさんの言語を扱えるようになってください。

この本ではtelloドローンを世界で使われているメジャーな言語でプログラミングして解説し、言語の違い、特徴などを紹介したいと思います。

この本を読んだ後、さらに興味をもってもっとたくさんプログラミング言語について勉強してもらえればうれしいです。

さあ、次の章に進んでプログラミングの世界をのぞいてみましょう。




 
内容サンプル
 
User Voice
正直、ネット上に乗っているレベルの内容で、内容も極めて稚拙な内容。
 
   
本書の内容

知識ゼロからでもよくわかる、はじめてのC++

プログラミング経験ゼロでも安心して学べる定番の入門書『スラスラわかる C++』がパワーアップして帰ってきました!
前版の内容を大幅に見直し、C++に必須の構文やクラスをしっかり網羅し、初学者向けにやさしく解説しています。
1つのプログラムをテーマに沿ってどんどん改造していくので、自分のやりたいことを実現していく過程がよくわかります。
また、各章の終わりに理解度を確認するテストを掲載しているので、学んだことをその場で復習できます。

【本書の対象読者】
・本書ではじめてプログラミングを行う人
・これまでにC++を学ぼうと思ったことがあるけれど、挫折してしまった人
・一生使えるプログラミングの知識をC++で身につけたいと思っている人

【目次】
第1章 プログラミングの準備をする
第2章 役に立つプログラムを作る(C++の基本構文)
第3章 条件に応じた分岐と繰り返し
第4章 プログラムを関数で部品化する
第5章 プログラムをクラスで部品化する
第6章 クラスがあるから表現できること
第7章 オーバーライドとオーバーロード
第8章 コピーコンストラクタと代入演算子のオーバーロード
第9章 エラー処理とファイル処理
第10章 テンプレートとSTL

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
当方、文面通りにソフトウェアを用意してコード文を作ってコンパイルしようとしたところ「cl は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」というエラーメッセージが出てコンパイル自体実行出来ませんでした。元々VisualStudio2010を持っていたので(使用PCで普段から使っています。)それで手順を行うと、問題なく実行出来ました。7年前のバージョンでも64bit版に対応したVSなら実行可能ですが、2017どころか2018版でも安価な32bit版のみ対応の無料バージョンなら何をやっても動作しません。こんな大事な事を書いていない時点で評価は星3個です。気持ち的には星1個ですが満点評価を見て買った本なので、あまり評価を下げたくないというオマケで星3個です。
C経験あり(入門書を読み終わり多少読み書きできるレベル)の状態で読みました。
半分くらいまではあまりCを超えた範囲の話がなく、スイスイ読めました。後半はクラスなどC++に特有の話が出てきます。いずれにせよ、他言語経験を前提とした書き方は特にしていないので、根気があれば初学者でも読むことができると思いますが、なまじ各章のコードの改造手順が丁寧なだけに、写経だけではなく自分で考えて手を動かしていかないと、やや何をしているか覚えきれない感じにはなってくると思います。
Cの入門書などではかなり丁寧に説明されているポインタについても結構あっさりと説明されています。簡潔なのでそのへんがよい人ともっと詳しくページを割いてほしい人に分かれそう、立ち読みなどできればその辺で自分との相性を確認されたほうが良いかもしれません。
追記:この手の入門書にありがちなことですが後半特に駆け足の部分が多く、例えばファイル入出力の章でバイナリファイルの取り扱いを学びますがそこで説明される2進数の説明などはまず初めての人にとっては理解しがたいものではないかと思います。というか、この分量の入門書でバイナリファイルの取り扱いを入れる意味があったのかちょっと謎です。
本の最初のほうはBMIを求めるプログラムをリッチにしていこう、そのためにこういう機能を学びます、という方向性が明確なのに対し、後半はこういう機能があります簡潔に書くために特に役に立たないプログラムを書きます、というのが続くため、記憶の定着しにくい印象がありました(そこが、上述した「写経だけではなく自分で考えて手を動かしていかないと、やや何をしているか覚えきれない感じ」につながってくると思います)。

kindle版は目次から各項目に飛ぶ機能がないのでちょっと使いづらいです(その分全文検索かけられますが……目次もあると一層うれしかったのに)。ささやかながら一問一答の章末問題は回答と問題を行き来できるリンクがついていてよかったです。
様々なC++のテキストを見てきたが、この本が一番分かりやすく解説している。
C言語を少しかじった程度のC++の入門者にとって最高の入門書であると言えるだろう。
ただ、全くプログラミング言語の知識がない人は、この本の内容がかなり高度であることから多分ついていけないだろう。
 
   
本書の内容
本書の目的は並列プログラミング、最適化、OSレベルの低層でのコーディングに必要なプロセッサーとメモリー、キャッシュの仕組みを広く浅く(厳密ではなくざっと)学ぶことです。

C/C++ をある程度使える技術者や学生が情報科学の書籍(以下リスト)を読むために、最低限必要な準備知識を備えるための副読本として執筆しました。

- C言語マルチスレッドプログラミング(2021年4月予定)
- C++ 並列プログラミング(2021年8月予定)
- 自作 DBMS プログラミング(2021年12月予定)
- Operating System プログラミング(2022年4月予定)
- Compiler プログラミング(2022年10月予定)

情報科学に興味のない方は得るものは少ないと思います。特定のアセンブリ言語の事前知識は不要ですが、GDBでのデバッグに慣れている方が有利だと思います。

※注1:文体は端的でカジュアルな表現を心がけたので、ブログ調にアレルギーのある方は読まないほうが良いでしょう。
※注2:第一版で追加更新内容の配信依頼をしたところ、Amazon運営側で「読書体験を損なうおそれのある品質上の問題の対象外」との判断があり、「新たに別の本としてご出版いただくことを推奨」されたので、今後の修正内容は新版して出版します。

内容


序章

C/C++開発環境の設定
Intel 64(X86_64)アセンブラの基本知識
MIPS32の基本知識

前半の章

電子、半導体、ダイオード、電子回路

中間の章

コンピューター(プロセッサー・メモリー)アーキテクチャー(MIPS32を使用、一部x86もからめる)
Intel CPU(Kabylake)のアーキテクチャー

後半の章

Intel 64アセンブリ言語(NASMとGAS、AT&TとIntelシンタックス、呼出規約では X86_32も軽く説明)

読み方

- アセンブリを学びたいだけの方は「アセンブリ言語でハローワールド」の章を呼んだら「レジスター」の章までスキップしてください。
- コンピューターアーキテクチャー、プロセッサーアーキテクチャーを学びたいかたはMIPS32の章から読み進めてください。
- 半導体や電子回路を学びたい方は、ハローワールドや環境設定はスキップして「電子の基本」の章から読み始めてください。

必要な知識・スキル

- C言語/C++のプログラミング
- 拙著「C++プログラミング(基礎編)」のGDB・ライブラリーの章

必要な開発環境

- Windows 10/Bash on Windows または Ubuntu 16.04
- MSYS2 (Mingw32)
- GCC 7.2
- PCSpim(「PCSpim_9.1.9.zip」と検索するダウンロードできる場所が表示されるはずです)

注意

- PCSpimのインストールの説明は画像を使っていません
- Intel CPUの64ビット環境で x86_64 の検証をしているだけなので、Intel 64に特化した説明はありません

正誤表(第一版購入者向け)


R-Sラッチの項目内のリセット画像の直下の図説明において、「Qnextは1です」と記述されていますが、0が正しい記述です。また「Qprevの値に関係なく、Qnextは(1ではなく)0となってますね」が正しい記述です。図が正しく説明が誤ってました。



Ubuntu の GCCディストリビューションの一部には「-fPIC」「-fPIE 」オプションを自動で発行するものがあります。
gcc を使用時にPIEのエラーが出たら「-no-pie」コマンドオプションを追加指定してください。

$ gcc -no-pie ファイル名

他のコマンドオプションとも併用可能です。



目次

コンピューターアーキテクチャーとアセンブリ言語

C/C++での開発環境準備

GNU開発ツールを使ったデバッグ

アセンブリ言語

アセンブリ言語でハローワールド

システムコールとLinux
64bit Linux GAS ハローワールド
64bit Linux NASM システムコールによる出力
MIPS32
PCSpimのインストール
MIPS32でハローワールド

MIPS32アセンブリ言語

32ビットMIPSの命令フォーマット
MIPS32で算術演算
MIPS32で論理演算
MIPSのアドレスモード

電子の基本整理

電荷
電荷キャリア
電子ホール(正孔)
イオン
導電率
価電子
バンド
共有結合(covalent bond)
熱エネルギーの効果
電子密度とホール密度

半導体(セミコンダクター)

フェルミ準位
ドーピングによるバンド構造の性質変化
N型半導体
P型半導体
電圧印加と励起(Excitation)
電界効果と反転層

半導体ダイオード

PN接合
リバースバイアス(逆バイアス)
フォワードバイアス(順バイアス)

トランジスター

集積回路
FET
MOS
VLSI
MOSFET
CMOS回路

論理演算回路

基本回路:ゲート
メモリー

プロセッサーアーキテクチャー

フォン・ノイマン型のCPUアーキテクチャー
CPUの汎用アーキテクチャー
- 命令サイクル
- データパス
パイプラインハザード
- 構造的ハザード
- データハザード
- 制御ハザード
C言語での分岐予測
分岐予測命令の仕組みと用語
RISCとCISC
アウト・オブ・オーダー実行
動的スケジューリング
レジスターリネーミング
- Tomasuloアルゴリズム
- Reservation Station(予約ステーション)
投機的な動的スケジューリング

メモリーアーキテクチャー

キャッシュの基本アーキテクチャ
マルチプロセッサーバスプロトコル
キャッシュコヒーレンス
- MESIプロトコル
- MOESIプロトコル
MMU(Memory Management Unit)
x86_32のページテーブル
x86_64のアドレス
TLB

Intel CPUアーキテクチャー

Kabylake-CPUコアのアーキテクチャー
レジスター・エイリアス・テーブル(RAT)
ブランチ・オーダー・バッファー
予約ステーション(予約機構)
スケジューラー
キャッシュタイプ:Intel 64アーキテクチャー

レジスター

x86_64のレジスター
x87レジスターと命令

命令

アセンブラー命令のフォーマット
算術命令
ビット演算
ジャンプ命令
シフト演算命令

補数

メモリーアドレッシング

x86_64のアドレッシングモード

スタックフレーム

相対命令ポインター(Instruction-pointer relative)

PIC(位置独立コード、position independent code)

共有ライブラリーへのアクセス

Global Offset Table(GOT)
Procedure Lookup Table(PLT)
PLTとGOTの仕組み

呼出規約

呼び出し規約(非マイクロソフト)
マイクロソフトの呼び出し規約
- 32ビットならMSYS2
- cdecl? stdcall? fastcall?

インラインアセンブラー

インラインアセンブラの概要
基本asm構文
拡張インラインアセンブラー
特殊なオペランド制約
CMPEXCHG命令

文字列処理命令

浮動小数点命令

セグメントレジスター

SIMD

プリフェッチ

gccのビルトインプリフェッチ命令
インラインアセンブラでprefetcht0の呼出

アセンブラ命令の最適化(おまけ)

Macro-Fusion
Micro-Fusion
Move elimination
Zero Idiom等  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容

この商品はリフローレイアウト作成されており、文字列のハイライトや検索、辞書の参照、引用などの機能をご利用いただけます。

2015年3月にゲームエンジンUnreal Engineが無償化され、その後多くの開発者が利用するようになりゲーム以外への利用も増えてきました。

Unreal Engineで標準的に使われるゲームロジック構築ツールは、Blueprintです。Blueprintはさまざまなゲームの開発に向いたビジュアルプログラミング言語で、とっつきやすく、同時に、高い機能、高い開発効率を持ちます。一方で、Unreal Engineの利用範囲が広がるにつれてBlueprintですべてのロジックを組むのが困難、あるいは、不可能な開発案件も増えてきています。このような場合でも対応できるよう、Unreal EngineはC++によって機能を拡張する仕組みを持っています。ただ、Unreal EngineのC++は標準のC++から独自に拡張されているため、前提知識のないC++プログラマにはハードルが高いのも事実です。

Unreal Engine独自に拡張されたC++については、公式ドキュメント、Wiki、掲示板、あるいはソースコードなどから情報を得ることで習得できます。しかし、必要な情報があまりにも分散してしまっています。そのためUnreal Engine C++初心者にとってはどこから手を付けていいのかわからない。それが今の状況だと思います。本書はそのようなUnreal Engine C++初心者や挫折してしまった方に、Unreal Engine C++の最低限の知識を身につけてもらうことを目的に書かれています。

 
内容サンプル
 
User Voice
私はUnityとC++には慣れていましたが、初めてUE4でC++を書こうとすると、お作法がわからないことが多く、どうやって始めたらいいかわかりませんでした。この本にはUE4でC++を書くために必要最小限の基礎知識やディレクトリ構造などの説明から書かれており、最初の一歩として最適でした。
全チャプターを通読し、一通り本に書かれたコードも試してみました。
結論から言うと、そこそこ満足ですが、もうすこし深い内容であったほしかったです。
-----
著者の動作検証環境ですが
・UE4 4.18
・Visual Studio Community 2015
とありました。私が試したときは、Visual Studioは2017でも問題なく動作しました。

なおUE4をすでに触られた方ならわかると思いますが、マシンスペックは必要です。
サンプルコードを試す場合は頻繁にビルドすることになります。

サンプルはWindows/MacOS双方で試せます。ビルド時の構成をいじる場合もWindows/MacOS双方の構成がのっています。

-----
内容としては
・UE C++に対する基礎的な知識(BPと連携するための記述法(コールバック、プロパティ))
・外部ライブラリの利用(利用例としてOpenCV 3.3.1:輪郭線抽出)
・プラグイン作成の知識
が身につきます。

ある程度UE4とC++に馴染めている方々向けです。
C++11の機能を使っていますが、あまり多くはないので、C++の機能がわからない方は調べればなんとかなります。
UE4の知識は、基本的な操作を理解し、ブループリントの基本動作に習熟していれば問題ないでしょう。

■良かった点
・UE C++に対する解説本が今の所(2018/2月)これしかないという点。UE C++に対する解説本がほしい方は選択肢がありません。
・UE C++に対する基礎部分しか説明されていないこと。もう少し濃い内容があってもいいように思いました。UE4+を業務で使うような場合は、UE C++を触りだけでなくかなり本格的に触ると思うので、メモリモデル、クラスライブラリやエンジンの設計方針についても説明がもう少し欲しいところです。
・冒頭にこの本で述べること/述べないことが明記されていること。書店で見る場合は、ここをみて、自分の求めている情報があるか判断するといいと思います。
・サンプルが比較的ミニマルなところ
・カラー
■イマイチだった点
・Blueprintの図が小さいです... 目を凝らさないと見えないです(泣) 見えない方は、サンプルプログラムを動かしてなんのノードがおいてあるか見てみる必要があります。
・サンプルプログラムを入手するURLが書いてある場所がちょっとわかりにくかったです(表紙をめくって「はじめに」の前のページにあります)
・解説図の内容がわかりにくいです。文字が小さいなどでわかりにくいのではなく、単に何を示しているのか、何が言いたいのかがよく伝わらない図になっています。
・ちょっと値段が高いかも...

-----

あと、わがままかもしれませんが、サンプルがもう少し実践的であって欲しかったです。
プラグインの作成の章のあたりは実践的でしたが、ライブラリの使用の章のサンプルは実践的ではなかったように感じました。

最後になりますが、ライブラリやプラグイン作成の知識は、私はまったくなかったのでとても参考になりました。
欠点も述べましたが、満足しております。
UE4で開発を進める上で、ブループリントでは賄えない高速処理や、各コンポーネントの機能拡張をしたい場合は、C++による実装が必要になってくる。
UE4で主に使用するC++は、UE独自に拡張されたものであり、利用するにはきちんと様式に従わないと正しく効果的に利用できない。
(例:BluePrintから呼び出せるようにしたり、ガベージコレクションの対象にしたりする場合は、マクロを呼び出す必要がある。テンプレートで自動生成されたクラスのメソッドにもいくつか注意点もある。)
これらを的確に使うための指南をまとめたのが本著。

最終的にプラグインを独自制作できるまでを目標に、一部のUEの基本クラス、APIの使い方を解説してくれている。
基本的なデータ型、マクロの解説などから、非同期・並列処理、スレッドセーフ、標準ライブラリなどとの連携まで言及してくれている。

UE4の膨大な機能、クラス群の中から、一部を掻い摘んで紹介しているので物足りなさは否めないが、これからUE4でC++を使っていこうとする人には、現時点(2018/06)ではUnityより断片的かつコーディングに関する情報量が少ないなかで正解の技術を今後蓄積していくための良い足掛かりにはなると思う。

C++はそこそこ知っていて、UE4で初めてC++導入するレベルの人には、満足する内容だと思います。
若干の駆け足感がぬぐえないのと、他の方もおっしゃってるブループリントイベントグラフの画像の小ささが気になりました。

-----------------------

以下のことを学ぶことができる。

・UE C++オブジェクト
 クラス、構造体、列挙型
・マクロ
 UCLASS():UEライブラリと連携させる
 GENERATED_BODY()
・プロパティ
 UPROPERTY():
  ブループリントやレベルエディタから利用できる設定やアクセスコントロールを定める
  ガベージコレクションの対象にする
・コールバック
 動的マルチキャストデリゲート
 BluePointイベント
 BluePoint関数
・GC対象にするインスタンスの生成方法、スマートポインタ:安全なメモリ管理
・UE C++ライブラリ
 UObject
 AActor
  アクタ定義
  アクタコンポーネントの定義、生成の実装
 アセットからオブジェクトの読み込み
・非同期・並列処理
 スレッドプール
  TaskGraph
  ThreadPool
 非同期
  Async関数
  AsynkTask関数
  PararelFor関数
  ロック
・標準C++との連携
 標準ライブラリ、既存ソース、静的ライブラリ、動的ライブラリの利用
・プラグインの作成方法
・プラグイン作成例
 ファイル入出力プラグイン
 OpenCV利用プラグイン
 レベルエディタのモード追加プラグイン

以上。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
C++必携の『C++ポケットリファレンス』に最新版が登場!「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」という特徴はそのままに,C++11以来のメジャーアップデートとなったC++17に対応しました。構造化束縛などのコア言語の新機能や,optional,variantなどの解説を追加。もちろん,現場で長く使われているC++03にも対応しています。信頼と安心の1冊です。

(こんな方におすすめ)
・C++を使用するプログラマ
・ゲーム開発者

(目次)
CHAPTER 1 C++とは

CHAPTER 2 基本文法

CHAPTER 3 エラーハンドリング

CHAPTER 4 文字列

CHAPTER 5 入出力

CHAPTER 6 ユーティリティ

CHAPTER 7 コンテナとアルゴリズム

CHAPTER 8 スレッド

APPENDIX 付録A ライブラリ

APPENDIX 付録B 言語拡張

APPENDIX 付録C 開発環境  
内容サンプル
 
User Voice
C++の新しめの仕様をざっくりと確認し、必要な機能の有無などを調べるのに非常に役に立っています。クラスの定義とともにサンプルコードも載っていて、試したことのない機能を最初に試す場合などにも重宝します。あれ?あの機能があったはずだけど、どうやるんだっけ、というケースで最初にぱっと確認するのによく引いています。
ポケットリファレンスの名のとおり、サイズが小さいため十分に詳細が記述されていない部分もありますが、それを割り引いてもこの値段と内容ならお買い得に感じます。この本でさっと機能を確認して、必要ならWebで調べるなり、別の書籍を当たるなりする、という使い方が向いている本だと思います。
C++をもっとちゃんと理解しておきたいと思い購入。
どんなことができるのかなどの記述が豊富で、特に何も無い時に見ていても「こんなことができるのか」と新しい知識や興味を得れて、実際に使えるので、買ってとても満足しています。

レベル的には、一度何の言語でもいいから2、3個何かしらのものを作り上げた人が向いていると思います。
なかなかこの様な記載がされている本も少ないと思います。自分的にはとても読みやすい参考書だと感じました。買って正解です。
 
   
本書の内容
-- プログラミング学習サイト「Programming Place」の作者による、新しい C++ への移行ガイド。

本書は、「モダンな C++ をはじめよう」の第2版です。
今回は、最新の C++17規格の新機能を追加したほか、初版で扱った内容も全面的に見直し、大幅な修正を行いました。

本書は、古い時代の C++ (C++98/03) を知っている方へ向けて、新しい時代の C++ (C++11/14/17) の新機能(の一部)を紹介しています。

C++11 以降の新機能は、C++プログラミングを容易にし、より良いスタイルのプログラムを実現するものです。C++ を使うのであれば、古い知識のままプログラムを書くことは、非常に勿体ないことです。

ただでさえ巨大だった言語仕様が、ますます大きくなってしまったことは事実ですが、すべてを理解する必要はありません。少しずつでも新しい機能を理解し、少しずつ日々のプログラミングに役立てていけば良いです。本書はその一歩となるべく、特に有用な新機能を選び出し、コンパクトに解説しています。

なお、分量の増大を避けるため、標準ライブラリに関する新機能や変更点は外しており、言語の文法機能に絞っています。

本書は、以下のコンパイラバージョンに対応しています。

- VisualStudio 2012 Update 5
- VisualStudio 2013 Update 5
- VisualStudio 2015 Update 3
- VisualStudio 2017 15.4.5
- gcc 4.7.3 ~ 7.2
- clang 3.3 ~ 5.0

※本書では、環境構築に関する説明は行っていません。

目次(一部抜粋)
* はじめに
** 本書の内容
** 初版との違い
** 標準規格について
*** どの規格に向けてプログラムを書くべきか
** 動作確認環境について
* 列挙型の強化
** 末尾のカンマ付加を許可 (C++11)
** Scoped Enum (C++11)
** 基盤型の指定 (C++11)
** 列挙型の宣言 (C++11)
* 型推論
** auto (C++11)
** decltype (C++11)
** decltype(auto) (C++14)
** 関数の戻り値型の推論 (C++14)
* 文法機能の強化
** long long型 (C++11)
** using による型の別名定義 (C++11)
** 範囲for文 (C++11、C++17)
** 名前空間の入れ子構文 (C++17)
** if、switch の条件式と初期化の分離 (C++17)
** 構造化束縛 (C++17)
* 新しいリテラル表現
** nullptr (C++11)
** 生文字列リテラル (C++11)
** 数値リテラルの桁区切り文字 (C++14)
** 2進数リテラル (C++14)
* 関数の新機能
** noexcept (C++11、C++17)
** 移譲コンストラクタ (C++11)
** 継承コンストラクタ (C++11)
** override (C++11)
** 関数の削除 (C++11)
* 定数式
** constexpr変数 (C++11)
** constexpr関数 (C++11/14)
** constexprコンストラクタ (C++11/14)
** static_assert (C++11、C++17)
* ラムダ式
** ラムダ式 (C++11)
** 初期化キャプチャ (C++14)
** ジェネリックラムダ (C++14)
** constexprラムダ (C++17)
* テンプレートの新機能
** テンプレートの右山括弧の扱い (C++11)
** 関数テンプレートのデフォルトテンプレート実引数 (C++11)
** エイリアステンプレート (C++11)
** クラステンプレートのテンプレート実引数の推論 (C++17)
* あとがき
 
内容サンプル
 
User Voice
C++11以降の変更点に絞っているのは良い。
ただC++11の最大の目玉機能であるムーブセマンティクスの説明が無いのが残念。
 
   
本書の内容
 
内容サンプル
 
User Voice
この本の400ページあたりまで理解しながら読み進めて現在ソフトウェア開発やっています。

柴田さんの本は他の本に比べてかなり丁寧めに書かれているので、
軽い本が苦手な人にとってはとても良いと思います。

私はC言語の方も柴田さんの本を読んでいて、そちらも中級編まで読んで研究室で通用してました。

基本情報処理ももっているのですが、これをやってれば応用情報のアルゴリズムまでは普通に戦えるレベルになると思います。
私は組み込み系ソフト開発を行ってきましたが今年からC++を使って開発を行うことになりました。
クラスの概念を学びたく書籍をさがしていたのですが、本書を選んだ理由は大学生の時に授業で本シリーズのC言語版で学んでいたためです。私はクラスの章以外は流し読みでしたが、基本を学ぶためには本書で十分だと思います。
新・明解C言語 入門編 (明解シリーズ)」を終えたため、本書を手に取りました。本書においては、あくまでC言語を前提としない姿勢を取ってはいますが、C++という巨大な言語の触りを一冊で扱おうとしている分、オブジェクト指向とは関係のない、言い換えればC言語から引き継いでいる文法の説明が些かおろそかになっています。乃ち、ただ事実だけが述べられていたりと、「新・明解C言語 入門編」に比べて厳密さという点では劣ります。そのため、リファレンスとして使うには、やや一般性に欠けるという印象がありました。また、これは本書に限らない話なのですが、C++の解説サイトはC言語の解説サイトに比べて持論を展開しがちであるため、Standard Documentを参照することがより重要となってきます。(Standard Documentは標準規格を定める文書です。日本語版は調べたことがないので分かりませんが、少なくとも英語版のdraft(草稿)は公式にインターネット上で読むことができます。)

内容としては、「新・明解C言語 入門編」と同じく、至って簡単に読めるようになっています。ページ数が500強と比較的大きいのですが、後半で扱っているのは主に「クラス」であるため、Javaを始めとするオブジェクト指向言語を学んだことがもしあれば、想像よりも短時間で読み切ることができます。私はJavaやPythonを既知としていましたが、丁度4日で読了となりました。

なお、本書では、オブジェクト指向の重要概念である継承や多様性が一切扱われていません。「入門編」とは銘打っているものの、本書だけでは入門にすらなりません。C++を一通り学ぶ上では、例えば「新版 明解C++ 中級編 (明解シリーズ)」も読む必要があると言えます。こちらでは、本書の続きとして、継承や多様性、クラステンプレートなどが扱われています。(実際にはこの本は「新版 明解C++ 入門編 (明解シリーズ)」の続刊です。新・明解シリーズとしては、中級編は未だに出版されていないようですし、明解シリーズの入門編と中級編の刊行日時が数年開いていること、及び本書の初版が2017年の暮れに発行されたことを踏まえると、中級編がすぐに世に出ることは無いように思えます。)因みに、中級編で扱われている内容は、初級編で扱われているクラスなどに比べて習得難易度が特に高いわけでもありませんので、中級という言葉を聞いて身構える必要はありません。むしろ、これらの内容をそれぞれ別の書籍に分けているケースの方が少ないです。

総合して、「新・明解C言語 入門編」によるC言語の導入を前提とするならば、本書は良著だと思います。詳しく知りたい場合は前述のStandard DocumentやStack Overflow(全世界版)を参照することができますし、何より著者が同じであるということが大きいです。体裁を含めて、一貫性が極めて高いです。逆に、一冊でC++の基礎を学び終えることができ、読了後もリファレンスとして活用できるような本を欲している場合には、他書をおすすめします。日本語のものでは、訳書を含めても、入門レベルでかつそのような条件を満たすC++の本が無いように思えましたが、英書で探せば見つかるかも知れません。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
-- プログラミング学習サイト「Programming Place」の作者による、C言語習得者のための C++入門書。

本書は、C++ の機能解説を中心とした入門書です。C言語を使った開発を経験されていることが望ましいですが、一般的な入門書を理解できていれば、読むことができるレベルだと思います。

本書の目的は、いつまでもC言語の世界に留まっていないで、C++ へ移行していただくことです。C++ は「難しい」「複雑」「巨大」のような、移行を躊躇してしまうようなイメージが多いようです。C言語に慣れた人の中には「オブジェクト指向」なんていう謎の考え方に馴染めないということで、移行できずにいる人もいるかも知れません。

C++ は、様々なプログラミングスタイルを許してくれる言語です。C++ はオブジェクト指向でプログラムを書くことを強制しませんし、C言語のようなスタイルでプログラムを書くことも許してくれます。また、C++ に用意されている多数の機能は、その一部だけを導入することができますから、全体像を把握しないと使えないなんてこともありません。要は、導入の進め方次第で、難易度は大きく変わるということです。

本書では、C言語の延長線上の考え方で導入できると思われる機能を優先して解説しています。例えば、オブジェクト指向の考え方はほとんど登場しません。それでも C++ への移行には価値があることを示したいと思います。

※本書では、環境構築に関する説明は行っていません。
※本書のサンプルプログラムは、VisualStudio 2017、gcc 7.1 で動作確認を行っています。

目次(一部抜粋)
* はじめに
** 本書の内容
** C と C++ の歴史
** コンパイラについて
** C++ が難しいというのは本当か
** C より C++ を使うべき理由
* 基本的なこと
** ファイルの拡張子
** コンパイルの方法
** コメントのスタイル
** 仮引数が空の場合の意味
** main関数の末尾の return文の省略
** タグ名の省略
** ローカル変数を宣言する位置
* 名前空間
** 名前空間の外から名前を使うとき
** 名前空間内で名前を使うとき
** 別の名前空間の名前を使うとき
** std名前空間
** 名前空間の分割
** usingディレクティブ
** 無名名前空間
* 型と定数
** キャスト
** 論理型
** ヌルポインタの表現
** 積極的に const を使う
** 文字定数
** 文字列定数
* 関数
** 関数宣言
** 関数オーバーロード
** 関数テンプレート
** テンプレート実引数を明示する
** 関数テンプレートを定義する位置
** 入出力機能
** インライン関数
** 関数形式マクロを避ける
* クラス
** クラスとは
** アクセス指定
** メンバ関数
** クラスやメンバ関数の定義を書く位置
** メンバ関数の定義をクラス定義内に書く
** メンバ関数を使う理由
** constメンバ関数
** コンストラクタ
** デストラクタ
** 変数や関数以外のメンバ
* クラステンプレート
** クラステンプレート
** クラステンプレートを定義する位置
** std::basic_string
** std::vector
** std::list
** std::stack
* 動的なオブジェクトの生成
** new と delete
** new[] と delete[]
** new や new[] が失敗したとき
** RAII
* C との連携
** C++ から C のコードを使う
** stdio と iostream の連携
* あとがき
 
内容サンプル
 
User Voice
サンプルで目次を見て自分に合っていると判断し購入しました。数年前に、C++の理解不足でプロジェクトから干されたことがあります。そのときにこの本に出合っていればと思いました。苦手だった名前空間やクラスの意義など一読して理解できました。
本書の著者にはぜひこの書き味で本格的なC++本を出してほしいです。
 
   
本書の内容
 
内容サンプル
 
User Voice
コンピュータのアプリソフトを作るには、超えなくてはいけないハードルがいくつもあり、特に数学の関数や16進数の意味がしっかりとわかっていないとプログラムは作れない。
この本はかんたんと書いてあるけれど、じつはプログラムの本の中では簡単な方だが、c++言語はかなり難解なものである。
素人が手を出すと金の無駄になる。場所もとる。でも、ちゃんとプログラマーを目指すなら読んでおいても、損はないと思います。
まだ、全部マスターしたわけではありませんが、
タイトルにあるように”かんたん”です。
これだけで、VC++を作れるとは思いませんが、
ソースを読むのはたいへん難しいです。
ありがたく大変役に立っていて、業務でとても助かったいます。ありがとうございます。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
プログラミング言語としてのC の使い方を、基礎から丁寧に説明します。プログラミングに必要な基礎知識(言語仕様、文法、概念など)を体系的に学習できます。
各章の章末には復習問題があり、その章で学んだ内容を確認してから次の章に進めるようになっています。また、本書の最後の章では実際にパズルのアプリケーションを作成することで、本書で学んだこと全体が復習できます。レベルアップを目指すC の初学者におすすめします。
本書は2009年発行の『文法からはじめるプログラミング言語Microsoft Visual C 入門』を、現在の状況に合わせて全面的に改訂したものです。

「はじめに」より抜粋------------------------------
本書はC の入門書です。文法を厳密に記述するのではなく、構文とそれを利用するサンプルコードを提示することによって、C を紹介しています。
対応する規格はISO/IEC 14882:2014、いわゆるC 14です。本文で利用する開発環境はVisual Studioですが、サンプルコードはGNU C とClangでも動作します。
その方法は脚註などで補足しているので、それを参考にすれば、Windowsだけでなく、macOSやLinuxでも本書の内容は試せます。
(中略)これからC のプログラムを読み書きしていくために最低限必要となるであろう話題だけを選択し、本書を書きました。
プログラムを書くだけでよければもう少しコンパクトにできますが、他人が書いたC のプログラムを読むのに必要な知識を入れるとこのくらいになるでしょう。  
内容サンプル
 
User Voice
良い本だと思いましたが、一点だけ文句を言わせてもらうと、初版だからでしょうか、誤植が多いです。
ただ、直したいと思っている箇所が筆者のGitHubのリポジトリ(cppbook2)のWikiに書いてあったり、
コードの間違いはPull requestやIssueを作成すると反映してくれるので、修正しようとされているみたいです。
修正した上で、早く第二版を出していただけたらと思います。

なお、上記の文句を差し引いても、本の内容は非常に良いので、星5つです。
これより前に『スラスラわかるC++』を読み、よくある入門書の後半駆け足具合にもうちょっとカッチリ書いた本を読みたいと思い、C++本の2冊目としてこちらを読み始めました(ほかにはC、python等を少しずつ入門レベルでかじっています)。
ほかの方のレビューにもある通り本当の初心者にはさっぱりわからないうえにいきなり開発手法の分類とか情報系資格の試験のごとき教科書的説明が入るので退屈だと思います(というかなぜC++の教科書を読み始めたのに直接今後の内容に関係のない情報系教科書的、概論的な内容が入るのか……?)。
一度理解した内容を簡潔に振り返ったりするためには要所要所をまとめた教科書的な書き方になっているので適していると思いますが、例えばすでに何か理解の不確かな個所や分からない部分があり、それをこの本で理解しようとするのは結構難しいのではと感じました。コード例も機能の紹介にとどまりストイックなので、自分で手を動かして改変してみようと意欲的に取り組まないと身につかないです。
右辺値参照とか突然出てきてあれ?これ前に書いてあったっけ?って焦ったら初出なのにこれは右辺値参照なのでこのコードの実行結果はこうなりますみたいな説明があったりして、本自体の構成も「いったん総ざらいした人」向けのような……。

Kindle版を購入しましたが、脚注を今読んでいるページを表示したまま下部に表示できたり、単語検索、練習問題解答との行き来などの機能が充実しており、そこは使い勝手がよかったです。ただしコード部分は画像?になっていてコードの一部へのハイライトなどはできないです。
C++を学ぶにはとてもいい本ですが、オブジェクト指向や基本的なプログラミング知識はかなりすっ飛ばして書かれているので、それらがないとすぐに躓きますし理解もできないでしょう
ある程度知識があるひとにとっては余計な説明が少なくいい本です
 
   
本書の内容

静止画/動画の解析や情報抽出の基盤となるコンピュータビジョンライブラリの定番。OpenCVの導入から基本的な使い方、ディープラーニングを用いた応用プログラムまで丁寧に解説!

 
内容サンプル
 
User Voice
Ubuntuでの開発作業が多く、VC++は初めてだったが特に問題はなかった。

もちろんOpenCVの内容としても良かった。

OpenCVで良く使うであろう機能が紹介されており、Pythonが多い中C++で書かれている書籍は少ないので、C++でOpenCVを使う人にはお勧めだと思う。
この本のおかげで全く苦労せずにOpenCVでプログラムを作ることができた。画像処理を始めるのに多くの本を購入したがこの本が最も役立った。この本でOpenCV3 を使いはじめ、後は「詳解OpenCV3」とネットで分からない部分の情報を得ながら、実用プログラムを短時間で組むことができた。(ただし Visual Studio と C 言語は従来から使用していました。)
過不足のない内容で手軽に使える参考書として重宝しています。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
【シリーズ累計100万部突破! 】
しっかり習得できる信頼のロングセラー



プログラミング教科書のベストセラー、高橋麻奈の「やさしい」シリーズの『やさしいC++』を、新装丁+スッキリとした本文デザインで、より親しみやすく、より読みやすく改訂します。
プログラミング経験がなく、はじめての人にも、無理なくプログラミングの基本から学習してもらえるように、次の点を心がけています。

・読みやすい解説でスラスラ読み進められます。
・豊富なイラスト図解で、概念をイメージでわかるようにしています。
・たくさんのサンプルプログラムで、試して理解できます。

難しいと思われがちなC++プログラミングですが、基本文法からオブジェクト指向まで、とことん丁寧に解説していますので、はじめての人でも必ず習得できる書籍です。
 
内容サンプル
 
User Voice
何冊か入門書を読んだことがありますが、
説明がいまいち分かりにくいものがほとんどで
著者が自分に酔っているだけのようなものがありますが、
本書は説明も少なくとも私には合っていましたし、
1つ1つの事柄を簡潔に過不足無く書かれているので良いと思います。
他の本ですと、ページ稼ぎなのか分かりませんが、
ちょっと変えただけのものを何ページにも亘って写経させるものがありますから
そういうのは辟易します。
本書を読み終えて、独習C++ 4版辺りで中級者になれれば自分の思い描くプログラムが組めるのではと思います。
とてもわかりやすくC++大体の概要が学べます。
プログラミング言語自体、初心者の方は1~10のチャプターは復習を重点的にしたほうがいいと思います。
あとは「独学C++」お勧めします。
よりプログラミング言語を慣れるには小さいプログラムを書き続けることです。
今後はC++の「STL」→「テンプレート」→「boost」→「メタプログラミング」の順で学んでいく予定です。
#説明歌 やさしいよsampleソースコード付きVisual Studioコンパイル方法 ていねいで無駄な説明あまりないソースコードを書く人のため 自習するならこの本勧めます初めてC系言語する人 utf-8に最初に変換すLLVM使う人なら
 
   
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

絵で見てわかるC++の定番書がリニューアル!

翔泳社絵本シリーズの定番ライナップ『C++の絵本』が新しくなりました。
オブジェクト指向を含むC++言語には苦手意識を持つ人も多いものですが、
本書はイラストを多用し、短い単元で内容をまとめて、分かりやすく
解説していきます。

「C++で何か作ってみたい」「本格的言語をマスターしてみたい」という方の
要望にも十分こたえられる一冊です。オブジェクト指向の概念や最新のC++の
機能もフォローし、プロでも通じる本格的プログラミングの世界に一歩を
踏み出していただけます。

【翔泳社の「絵本」シリーズのラインナップをアップデート】
翔泳社の「絵本シリーズ」は名前のとおり、絵本のように豊富なイラストと
要点を押えた簡潔な解説でコンピュータ技術に入門できる初心者向けの
シリーズです。すべての単元を2ページ単位で読みやすくまとめ、基礎に
徹した内容で、言語/技術の初心者や手軽に習得したい方のお役に
たてるようになっています。

このたび、翔泳社は「絵本シリーズ」を全面的に改訂し、内容を現在の
技術に合わせて見直しました。シリーズラインナップ全体をリニューアルし、
新パッケージでお届けします。

新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、基礎に
徹した内容というコンセプトはそのままに、Web/ネットが全盛となった
現在のコンピュータ技術の潮流に合わせた解説を心掛けます。『Cの絵本』
『Javaの絵本』を皮切りにラインナップを順次刷新、さらに新しい仲間を
増やしてラインナップを充実していきます。


※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
c言語は習得している前提で、c++へのステップアップの最初の1冊に最適だと思います。
イラストによる説明でほっこりした気分で、簡単に読み流していけます。
ロベールのc++入門は文章量から途中でイヤになってきたので、
こちらに浮気してざっくりとしたc++の全体の雰囲気をつかむ事ができました。
ロベールにまた戻ってみます
私は初版の方しか持っていないので2版を持ってた友達にパラパラ見せてもらいましたが、
C++11/C++14の内容(型推論auto、foreach文、ラムダ式など)が追加されたこと以外はあまり変わらないようです。
分かりにくい部分を図解化してとっつきやすくしているのでC言語の入門書を読んでC++にチャレンジしようという方にはお勧めだと思いますよ。

ただし、これを読み終えただけはC++の知識が薄すぎます。
読破後は「独習C++ 第4版」や「基礎からしっかり学ぶC++の教科書 C++14対応」などの参考書にシフトしてレベルアップするといいですよ。
確かに記載は簡単ですが、1回読破したら覚える。というようなものではなく、結局、この本を参考にしてでも、とにかくいじって慣れなきゃなりませんね。
簡易な辞書としてデスクに置いておこうかと。
例題はほんの少しなので、そういう本ではないです。
 
   
本書の内容

C++プログラムの性能には、ハードウェア、コンパイラ、データ構造、アルゴリズム、ライブラリといったさまざまな要因が関係します。
本書は性能に影響する要因の特性をしっかり理解し、正しく測定することによって性能上の問題を引き起こしている「ホットスポット」を特定し、どのような最適化が可能であり、採用すべきなのかを詳しく解説します。
従来の文や式の最適化、コンパイラオプションだけでなく、性能チューニングの原則と、文字列、アルゴリズム、動的変数割り当て、カスタムライブラリ、探索と整列、データ構造、入出力、並列処理、メモリ管理といったあらゆる角度からの最適化テクニックを、「コード中毒」の著者が実際に直面したエピソードを交え紹介します。
より高速なプログラムを必要とするプログラマに不可欠な内容です。C++11/C++14対応。

 
内容サンプル
 
User Voice
C++の最適化について、文レベルからアルゴリズムレベルまで幅広く解説している。コンパイラやCPUアーキテクチャまで立ち入っている部分も一部ある。かといって最適化のトレードオフを忘れることもなく、また常に測定結果に立脚した話のしかたで、バランスがとれているのがよいと思う。

あえて言うなら測定結果がVisualStudio/x86-64環境メインなのが気になるが、なんにせよ開発者は自分の環境で適切に測定する必要があるはずだし、例はなんでもよいはずだ。
時折耳にする「年々CPUは高速になるのでコードの最適化は不要」と言うのは全くの見当違いです。
しかし、十分な速度で動いている部分を最適化する為に余分な労力を使うのは時間の無駄であり、単なる自己満足に過ぎません。

本書は小手先の技巧的なコーディングテクニックを紹介する本ではありません。
本書の第3章のコラムにもあるように、性能のボトルネックになっている1ヶ所を最適化する事で性能が7%向上した。
しかし、別の部分は最適化しても効果が無いので最適化を見送った。本書はそう言う見極めとメリハリが重要だと説いています。

もちろん、C++の言語的な、或いは付属のライブラリの特性を意識した最適化の為のテクニックの紹介は多々ありますが、それは本書の全てではありません。
むしろ本書は、適切なアルゴリズムやデータ構造を使う事の重要性を説いています。そして並行処理の最適化についても紹介されています。

例えば1989年に初版発行の「アルゴリズムとデータ構造」ですら、いわゆるビックオー表記の性能評価の目安であるO(n2)やO(log2 n)などが紹介されています。
そして当時でさえ、データ数が十分に少なければO(n2)の方がO(log2 n)よりも早くなる場合がある事も記されています。

これは一般的に繰り返しの回数を少なくするアルゴリズムは複雑になる傾向があるので、定数・係数であるビックオー部分が大きくなるからです。
例えて言えば、10m先に行くのに徒歩と自動車どちらが早いかと言う事です。
長距離であれば当然自動車の方が遙かに早いのですが、たったの10m程度の距離であれば車に乗り込んでシートベルトを着用してエンジン掛けて・・・とやってる暇があるなら歩いた方が早い。当たり前の話ですね。

本書では近年の研究の成果を踏まえて、理論的な計算量(時間コスト)とCPUのキャッシュ、データの特性を考慮したアルゴリズムの選択について紹介されています。

時折挟まれるコラムには最適化に関する著者の体験談なども載っており、「ああ、あるある」と楽しめます。
第3章の先述とは別のコラムで、線形探索と二分探索の性能測定でデータ数を増やしても常に線形探索の方が早いのでおかしいと思ってコードを調べたら、線形探索のバグで最初の1回目で常に「成功」を返していたと言うのがありますが、実は私も全く同じミスを犯した事があります。
まあ、筆者の場合と異なり、単体テストの段階でミスに気づきましたが。

本書の購入を考えている、或いは本書に興味を持つような方なら大丈夫だと思いますが、本書は内容の特性上、C++はもとよりCPUやメモリアクセス及びキャッシュの仕組みと特性、OSの構造や動作、CPUの進化の歴史などの知識がそれなりに必要です。
もちろんそれらの知識がなくても読めない訳ではありませんが、「なぜそうするのか?」と言う一番重要なポイントが腑に落ちないと思います。
コンパイラの最適化オプションによってソースコードがどう変化するかを、アセンブラのソースを出力させて確認する。そう言う経験をして来た人達だと著者が言いたい事が伝わりやすいと思います。

本書には(恐らく原文からしてそうなのでしょうが)比喩的な表現が多く見られます。特に第2章の「~の真実」関係の記述は、分かっている人でないと誤解を招く表現も多々見うけられます。
例えばP.14ではZ80などの昔のCPUと違い、最近のCPUではマルチコアだったり各種の高速化技法を使っているので一筋縄では行かないと言う事を読者に伝えたいようです。
が、それを表現するのに「C++プログラムは、先ほど述べたコンピュータの単純モデルを信じているように振るまう」と書かれています。
これは前後の文章の流れからするとCPUの投機実行(分岐した先の処理をあらかじめ実行しておくこと。分岐しなかった場合の結果は破棄される)やHTやアウトオブオーダー実行(命令の実行順をプログラムと矛盾しない範囲で入れ替えて実行する)、或いはMMUを使った仮想記憶などを意識した記述だと思われるのですが・・・
これはCPUの内部で行われている話であり、外部に対してはプログラムの記述通りの結果になる事が保障されています。
つまり、「振るまっている」のはCPUであって、C++ではありません。

とは言え、それらが全く無関係かと言うとそうでもなく、C++コンパイラ自身の最適化機能においてもソースコードのコンパイル時に結果に影響がない範囲で順番を変えてコードを生成する場合があります。
もっともその場合でも、「振るまっている」のはC++のコンパイラ(の最適化機能)であって、(ユーザーが作成した)プログラムではありませんが。
もしかすると「C++プログラム」とはC++コンパイラの事を言いたいのかとも思いましたが、その後に「C++ コンパイラ」と言う文言が出てくるので、恐らく「C++プログラム」はユーザーが作ったプログラムの事を示しているのだと思います。
他にも用語的には「C++」「コンパイラ」が使われていますが、「C++」はC++の言語仕様を示す時に使われているようです。

まあ勿論、CPUやコンパイラがどの様に振るまうかと言う事は(プログラマ自身が)コーディングの際に常に意識しておく必要はあります。
例えば副作用を伴う関数を引数に渡す場合がそれに該当します。

仮に次の様な(推奨されない)記述があったとします。
int a = 0;
func(a++, a++);
関数の引数の評価順序はC++の仕様で規定されてないので、コンパイラは「振るまう」必要がありません。
つまりこの場合、func(0, 1)で呼び出されるか、それともfunc(1, 0)で呼び出されるかはコンパイラに依存し、さらに同じコンパイラを使っても最適化機能のON/OFFで結果が異なる可能性があると言う事です。
つまり、コンパイラの振るまいを理解しておかないと、(最適化機能OFFの)Debug環境では正常に動くのに(最適化機能ONの)Release環境では間違った動作をするやっかいなプログラムを作ってしまう事になります。
そう言うプログラムは当然ですが、作った本人にはバグが見つけられず、無駄にデバッグに時間を費やす事になります。
「引数に渡す前に別のローカル変数に入れる」と言う、わずかな手間、わずかな行数、わずかな実行時間を惜しんだがために、分かりづらいバグを生み出す。
もちろん使っているC++によっては問題なく動く場合もありますが、潜在バグの一つなので他の処理系に移植された時に問題が出るパターンもあります。自己満足の最適化パターンが生み出すバグの一種なのですが、意外とありがちです。

話を戻すと、この様に(文章的に)やや気になる点は幾つかありますが、より高速なC++プログラムを作る必要がある場合、本書は座右の書となるでしょう。

尚、第1章の冒頭に明記されていますが、本書の最適化の技法はC++の特徴を意識した物なので、他の言語で同じ技法を使っても同様の効果が得られる保証はありません。
また、特定のCPUやハードウェア、OS固有のAPI等に依存した最適化の技法についても(軽く触れられる程度で)基本的には対象外です。
本書で紹介されるのはあくまでもC++一般で適用されるであろう最適化の技法であり、その為の知識です。
原書や内容は良いと思いますが、誤訳が酷いです。
難しいのは、プログラム言語(予約語や専門用語)と英語を正しく
理解して翻訳する必要があると思いますが、
この書籍に関しては機械翻訳された様にプログラム言語などが
変な日本語やカタカナに訳されている部分があって、更に、
その部分だけ見ると逆の意味にとられかねない記述も
あったりします(訳者もC++に不慣れ?)。
それ故、初心者~中級者は間違った内容を理解させるかも
知れませんし、中級~上級者にとっては間違い探しの旅に
なってしまいそうです。
改訂版で修正される事を期待します。
 
   
本書の内容
C++を生み出したStroustrupが書き起こしたプログラミングを一から学ぶ人のための入門書。プログラミングとはなにか、プログラミングをどのように学ぶべきかを懇切丁寧に解説している。さらに江添亮氏の監修により原著の間違いを数多く修正し、内容の質を高めている。
 
内容サンプル
 
User Voice
1/18
Kindle版では途中の図のレイアウトが崩れて非常に見にくいです。

1/21 追記
kindle fire (7-inch), PC 版 kindle, Android 版 アプリ では図の表示が乱れます。
何故か iPhone 版アプリでは正しく表示されます。
KINDLE版:中に記述された図がすべて縦に長く引き伸ばされて、まったく何を書いてあるのかわからない。返品するか新しいデータに早く訂正するかしてほしい。まったく使い物にならない。
書店で現物を見た上で購入しました。プログラミング初学者も視野に含めているので、基本的なことから非常に理解しやすい内容になっています。また初学者に生じるであろうストレスに対するホスピタリティにも十分配慮されています。
プログラミングは、規約書の精読だけでは、力は付きません。この書籍で基礎的トレーニングを積んだ後に、プログラミング言語C++ 第4版を持つというのも良いかと思います。その意味で、知識の一夜漬けを求める方には向きません。
最後に翻訳も良く非常に読みやすいです。著者・翻訳者それぞれの立場で、労作でありmasterpieceだと思います。感謝
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
C++入門書の最高峰、ここに誕生。
最高のC言語入門書として名高い『新版 明解C言語 入門編』の柴田望洋が贈る、最も明解で最も平易なC++入門書。初めてC++を学ぶ人、これまでの入門書ではマスターできなかった人など、すべてのC++ユーザに最良の1冊。サンプルプログラム満載。


※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

最高のC言語入門書として、読者の圧倒的な信頼を誇る『新版明解C言語 入門編』の著者、柴田望洋のC++入門書です。たくさんの図表とサンプルプログラムを使って、C++の基礎を分かりやすく、ていねいに解説しています。一つ一つのステップを着実に進んでいく、著書一流の解説により、読者は目から鱗が落ちるように、C++の基本をマスターすることができるでしょう。初めてプログラミングを学ぶ人、他の入門書ではマスターできなかった人、本当にC++をマスターしたい人など、すべてのC++ユーザにとって、最良の1冊です。

●目次
第1章 画面への出力とキーボードからの入力
第2章 プログラムの流れの分岐
第3章 プログラムの流れの繰返し
第4章 基本的なデータ型
第5章 配列
第6章 関数の基本
第7章 ポインタ
第8章 文字列とポインタ
第9章 関数の応用
第10章 クラスの基本
第11章 単純なクラスの作成
第12章 変換関数と演算子関数
第13章 静的メンバ
第14章 配列クラスで学ぶクラスの設計

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
初めて書かされたプログラミング言語がC言語だったのですが、その時の参考書としてこちらを使ってました。
当時はとても助かりました。
しかし、今思うとGoogleで検索すれば事足りたのではと感じます。
まぁ右も左も分からないうちはどう検索すればいいかも分からないわけで、そういう人にとっては良いかもしれません。
C++の基礎から順序立てて解説しているので、とても分かりやすいです。
すごく優秀な入門書です。ページ数は500以上で分厚いですけど、読みやすいです。練習問題も解きやすいです。きちんと読めばC++の基礎をしっかりさせるのは難しくないという感じです。大変おすすめです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2015/10/10
(2.7)
Amazon 2,420円
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2015/09/25
(2.8)
Amazon 2,250円
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容

最高の翻訳で贈るC++のバイブル!!

C++のバイブル(第4版)、ついに刊行。
C++の開発者ストラウストラップがC++11の全貌を完全解説。
翻訳は、名著『新・明解C言語入門編』『新版明解C++入門編』の著者 柴田望洋。
本書を読まずしてC++は語れない。
すべてのC++プログラマ必読。

▼本書の構成

第I部 はじめに
第1章 本書の読み進め方
第2章.C++を探検しよう:基礎編
第3章 C++を探検しよう:抽象化編
第4章 C++を探検しよう:コンテナとアルゴリズム編
第5章 C++を探検しよう:並行性とユーティリティ編

第II部 基本機能
第6章 型と宣言
第7章 ポインタと配列と参照
第8章 構造体と共用体と列挙体
第9章 文
第10章 式
第11章 主要な演算子
第12章 関数
第13章 例外処理
第14章 名前空間
第15章 ソースファイルとプログラム

第III部 抽象化のメカニズム
第16章 クラス
第17章 構築と後始末とコピーとムーブ
第18章 演算子の多重定義
第19章 特殊な演算子
第20章 派生クラス
第21章 クラス階層
第22章 実行時型情報
第23章 テンプレート
第24章 ジェネリックプログラミング
第25章 特殊化
第26章 具現化
第27章 テンプレートと階層
第28章 メタプログラミング
第29章 行列の設計

第IV部 標準ライブラリ 853
第30章 標準ライブラリの概要
第31章 標準ライブラリの概要
第32章 STLアルゴリズム
第33章 STL反復子
第34章 メモリと資源
第35章 ユーティリティ
第36章 文字列
第37章 正規表現
第38章 文字列とストリーム
第39章 ロケール
第40章 数値演算
第41章 並行処理
第42章 スレッドとタスク
第43章 標準Cライブラリ
第44章 互換性

 
内容サンプル
 
User Voice
C++の生みの親・ストラウストラップ自身が執筆した、C++言語の仕様書。
この本を初めて見た人は、1000ページをも超える分厚さとその中に示されている、C++の多機能性に狂気を覚え、やがて本書を凶器として誤った使い方をしてしまう・・・・様なことは無く、案外すんなり読めるものである。
それだけ丁寧に書かれている。
ただ読者対象はC++初心者ではあっても、少なくても他の言語・特にCやJavaなどを経験した人じゃないと、やっぱり狂気に走り、本書は凶器と成り果ててしまうだろう...。
C++はオブジェクト指向言語であり、使いこなせると、クラスというとてもありがたい恩恵受けることになるが、兄貴分であるC言語をあまりに武装してしまったが故に、習得がとても難しい言語となってしまっている。
つまりプログラマー上級者向けの言語と言える。
だから本書はVBを少しいじった事がある程度のプログラマーには、ちょっと敷居が高いものとなってしまうだろう。
そしてこの値段・・・。
やはり狂気と凶器しか残らないかもしれない。
初心者はとりあえず第1章を読んでおおまかな流れをつかむ。
中級・上級者はしっかり読み込む。
さらにはリファレンスにも使える。

2018年の今となってはちょっと古いともいえますが、
それでもModern C++を勉強する・使ううえでは欠かせない書だと思います。

柴田望洋先生の日本語訳もよく、この手の本の日本語版としては非常に読みやすいです。
Kindle版を購入したが最悪だった。
・拡大縮小ができない
・見開き表示を選択しても1ページ単位でしか表示できない
など、見るに堪えないレイアウトです。
他のKindle書籍ではこれらの表示は可能なので、データの改訂を望みます。
半額程のポイント付与に惹かれてKindle版にしましたが、それだけ値引きをするだけKindle版は出来が悪いということですね。
この手のリファレンス本は、書籍で買うべきだと後悔しました。
 
   
本書の内容
テンプレートの真の力!!

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

メタプログラミング、ポリシーベース/コンセプトベースの設計手法、SFINAE、Type Erasureなど、テンプレートの機能を使ったプログラム共通化の仕組みを、わかりやすく解説。最新規格、C++11に対応!!

●目次
Chapter 1 テンプレート前史
Chapter 2 テンプレートの基礎
Chapter 3 Generic Programmingの基礎
Chapter 4 テンプレートメタプログラミング
Chapter 5 SFINAE
Chapter 6 ポリシー
Chapter 7 コンセプト
Chapter 8 Type Erasure
Chapter 9 CRTP
Chapter 10 テンプレート型変換演算子
Chapter 11 Expression Template

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
最近OMPがらみの糞本買ってしまったので、
それとは対照的な本書をレビューします。

ぺらぺらめくるだけで、書き手のわかりやすく伝えたいという熱意がビンビン感じられる名著です。
サンプルコードも理解しやすいようできるかぎり短く、適切で、無駄コードの羅列で頁を稼ぐどこかの駄本とは偉いちがいです。
最後に登場する式テンプレートはBlitzのコードらしいですが、これ以上にわかりやすいサンプルはないと思われます。
サンプルコードはダウンロードし、コピペして自由に使うことが出来ます。
要は自分がプログラムする際、いかに適切にこれらを利用できるか?にかかっています。
残念なのは、ほぼC++11どまりな上、高橋晶氏のC++テンプレートに関する熱意が薄らいでいるようで、
最新スペックに準拠した新版が出版されそうにないことです。
なんとか新版リリースされないもんでしょうかね?
最初の数章まで読みましたが、templateの基本から説明してあり、理解しやすいです。
ただし、途中から段々と難しくなって行きます。
C++03がC++11になると、簡便な書き方でコーディングが出来ることが
説明してあり、助かっています。
第一版も買いましたが、内容が良かったのでこちらも購入しました。
第一版は電子書籍版がなかったので、自炊して PDF 化して読んでいましたが、
第二版では Kindle 版があるとためこちらを選択。
しかし・・・内容は本をそのままスキャンしたかのような画像の集まりで、これには本当にがっかりしました。
目次もないのですこぶる扱いづらく、結局自炊したほうがマシでした。

内容は相変わらず素晴らしく、第二版で C++11 に関する加筆がなされており、
その辺りを抑えたい人であれば第一版を持っていても十二分に買う価値があります。
 
   
本書の内容

※この商品は固定レイアウト型の電子書籍です。

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

※お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。





オンライン・ジャッジシステムでプログラミングをはじめよう!
「オンライン・ジャッジシステム」といわれるプログラムの自動採点システムを用いてC/C++プログラミングの基礎を学習します。ゲーム感覚で学習が進められますので、モチベーションを維持しながらプログラマとしての基礎体力を身につけることができます。内容も敷居の高いものではなく、プログラミング初学者が取り組む問題からスタートしています。会津大学のオンライン・ジャッジシステム(AIZU ONLINE JUDGE)のコース問題を題材にした公式解説書です。http://judge.u-aizu.ac.jp/onlinejudge/ 

■CONTENTS
≪Ⅰ部 学習の準備≫
1章 プログラミング/2章 オンラインジャッジ
≪Ⅱ部 プログラミング入門≫
3章 基本構造/4章 変数/5章 計算(1)/6章 入出力/7章 計算(2)/8章 構造文:条件分岐/9章 構造文:繰り返し処理/10章 変数(2)/11章 プログラムの構造/12章 配列/13章 文字列/14章 ライブラリ/15章 構造体とクラス
≪付録:演習問題模範解答≫  
内容サンプル
 
User Voice
特に何が悪いということもないが、おすすめできる点はない。
(ある言語の)入門書などをよんで実際にウェブアプリ開発をしようとしても入門本を読んだだけでは基礎レベルだけです。
そこで入門書の次にやるべきことを探すわけですが、自分は競技プログラミングで実際に手で動かしてみる、具体的にはAOJで競技プログラミングの入門編、過去問編、コンテストに参加してみることだと思います。
前置きが長くなりましたが、
C++は何でもできる言語の一つです、なんでもできるので覚えることはたくさんありこの言語一つ取得するだけで数年はかかります、アルゴリズム等の勉強だけしたいのに時間を取られてしまっては本末転倒なので、競技プログラミングに必要な言語部分だけを覚えるの最適だと思って購入しました。

実際、現在競技プログラミングはコンテストの終了後Youtubeで解説実況動画が見れたりしますが、それはC++で解説していました。(AOJ)他言語でPython、Rubyで参加するのもいいですが、いちいち翻訳したりするよりもC++を覚えてしまって学習するほうが効率がいいと思います。
 プログラミング未経験者を対象とした極めてオーソドックスな「C++を用いたC言語入門」。情報系の大学の先生の書いたシンプルなプログラミング入門で、中高生から年配の読者にまで幅広く対応できそう。レベル的には初歩の初歩、C/C++のコアの部分を簡潔に記している。

 「オンラインジャッジ」とは、ソフトウェア開発におけるテスト機能をWEBアプリケーション化したもので、プログラミングコンテストやプログラミング教育に活用されているもののようだ。「AIZU ONLINE JUDGE」は会津大学が提供しているオンラインジャッジシステムで、誰でも無料で利用することができる。本書は、そのAOJ内に用意されている「Introduction to Programming」コースの課題に沿ってC/C++によるプログラミングについて教授していく、という趣旨。

 本書の内容は、著者の一般向け公開講座のテキストや大学の演習の課題、等をもとにしたものなのだか。ワリと厚いが、厚い紙を使っているせいで、実質200ページ程度とプログラミング関連書籍としてはかなり薄い。ただし、「言葉を省き過ぎ」ということではなく、多くの入門書ライターの視点とはやや異なる情報系の先生らしい表現も散見され、それがなかなかいい感じ(笑)。「Cの壁=ポインタ」に関する踏み込んだ解説がない等、もの足りない部分もあるにはあるのだが…。

 尚、続編として『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』(渡部 2015年 マイナビ)(AOJの「Introduction to Algorithms and Data Structures」コースの内容に対応)も刊行されている。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
【シリーズ累計100万部突破! 】
【(社)日本工学教育協会著作賞受賞★★★】

新たな飛躍をめざすプログラマのための決定


C++入門書の最高峰『新版明解C++入門編』の続編ついに刊行。
前著『入門編』では、基礎的なことから始まって、クラスまで学習が進みました。
本『中級編』では、オブジェクト指向プログラミングの核心へと話が進みます。
まずはクラスについて復習し、それから、派生・継承、仮想関数、抽象クラス、例外処理、
クラステンプレートなどを学習することによって、C++ という言語の本質や、
オブジェクト指向プログラミングに対する理解を深めていきます。
さらに、最後の三つの章では、ベクトル、文字列、入出力ストリームといった、
重要かつ基本的なライブラリについて学習します。

難解な概念や文法を視覚的に理解して学習できるように工夫して作成された、
152 点もの図表を掲載するとともに、例題として示すプログラムリストは208編にも及びます。

本書を読み解くことで、正確で実践的なC++のプログラミング能力を高めることができます。
C++を本当にマスターしたいユーザにとっての最高の解説書です。

▼本書の構成
第1 章 クラスの基本
第2 章 整数型とビット演算
第3 章 関数へのポインタ
第4 章 継承
第5 章 仮想関数と多相性
第6 章 抽象クラス
第7 章 多重継承
第8 章 例外処理
第9 章 クラステンプレート
第10章 ベクトルライブラリ
第11章 文字列ライブラリ
第12章 ストリームへの入出力  
内容サンプル