現場ですぐに使える! C/C++逆引き大全 560の極意 (単行本)

現場ですぐに使える! C/C++逆引き大全 560の極意
フォーマット:
単行本 電子書籍
著者 増田智明
ジャンル IT系書籍 > プログラミング言語
シリーズ 逆引き大全
書店発売日 2018/03/27
ISBN 9784798054278
判型・ページ数 A5・864ページ
定価 3630円
(本体3300円+税10%)
その他 ダウンロード:有

この本に関するお問い合わせ・感想

C言語やC++の開発者は、基本的なプログラミングスキルだけでなく、高速化や安全性を高めるためのノウハウなど、実務に即した能力が求めらています。本書は、現場ですぐに使えるをコンセプトに、C言語とC++の基本的な文法や関数、各種メソッドの使い方から実践的な資料例を多数紹介した逆引きテクニック集です。また、スマートポイントやラムダ式、また単体試験を行うために必須となっているCppUnitについても解説しています。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/5427.html
第1部 スタンダード・プログラミングの極意
第1章 C/C++の基礎
1-1 C/C++の基本
001 C言語とは
002 C++とは
003 C言語プログラムの構造
004 C++プログラムの構造
005 C/C++とライブラリ
006 C言語とほかのプログラム言語の連携
第2章 文法の極意
2-1 データ型
007 型とは
008 数値を扱う
009 16ビットで数値を扱う
010 32ビットで数値を扱う
011 64ビットで数値を扱う
012 単精度の実数を扱う
013 倍精度の実数を扱う
014 符号付きの整数であることを修飾する
015 符号なしの整数であることを修飾する
016 文字を扱う
017 32ビットで文字を扱う
018 真偽を扱う
019 型が指定されていないことを表す
020 ポインタを扱う
021 イテレータを扱う
022 配列を扱う
023 2次元以上の配列を扱う
024 ポインタの配列を使う
025 ヌルポインタを利用する
026 推論を利用する
2-2 演算子
027 演算子とは
028 加算する
029 減算する
030 乗算する
031 除算する
032 余りを計算する
033 プラスの数値であることを示す
034 マイナスの数値であることを示す
035 1つ加算する
036 1つ減算する
037 左シフトする
038 右シフトする
039 代入する
040 値が同じかを判定する
041 値が異なるか判定する
042 加算して代入する
043 減算して代入する
044 ビット単位で論理和する
045 ビット単位で論理積する
046 ビット単位で排他論理和する
047 ビット単位で否定する
048 2つの式の論理和を取る
049 2つの式の論理積を取る
050 指定した条件式の否定を取る
051 式を繋げる
052 ポインタが示す値を取得する
053 変数のポインタを取得する
054 構造体のメンバを参照する
055 ポインタからメンバを取得する
056 ポインタからメンバポインタを取得する
057 1つの式でif文を表す
058 スコープを明確に示す
059 演算子の優先順位
2-3 制御文
060 制御文とは
061 条件式を指定し、ブロックを実行する
062 if条件内で関数を使う
063 if条件内の評価順序を指定する
064 if、while条件内で変数に値を代入する
065 繰り返し処理をする(1)
066 繰り返し処理をする(2)
067 反復式を使う
068 終了条件式を使う
069 複数の初期化式を使う
070 複数の反復式を使う
071 条件が真の間、ブロックを繰り返す
072 無限ループを使う
073 繰り返し途中で最初に戻る
074 繰り返し途中で終える
075 コレクションを利用する
076 繰り返しを入れ子にする
077 複数に条件分岐する
078 複数の条件文(case)を使う
079 case文で内部変数を使う
080 switch文で条件にマッチしない場合を書く
081 指定位置にジャンプする
2-4 スコープ
082 スコープとは
083 内部変数を使う
084 すべてのスコープで使える変数を定義する
085 ブロックで変数のスコープを制御する
086 式を利用する
087 変数のアドレスを1つにする
088 変数をほかでも利用できるようにする
089 変数を変更できないようにする
090 固定値を列記する
091 関数のプロトタイプを記述する
092 構造体を記述する
093 共有体を記述する
094 型を分かりやすい名前で定義する
095 変数を別の型に変更する
096 型を変更する(1)(static_cast)
097 型を変更する(2)(const_cast)
098 型を変更する?(reinterpret_cast)
099 型を変更する?(dynamic_cast)
100 参照する変数を使う
101 関数の引数を定義する
102 関数の戻り値を定義する
103 ファイル単位でスコープを設定する
104 ラムダ式を利用する
105 ラムダ式のキャプチャリストを利用する
106 ラムダ式を再利用する
2-5 プリプロセッサ
107 プリプロセッサとは
108 文字列や数値を分かりやすい名前で定義する
109 引数を付けたマクロを定義する
110 内部変数を扱うマクロを定義する
111 指定した変数を文字列にする
112 指定した文字を繋げるマクロを定義する
113 シンボルが定義されているかチェックする
114 シンボルが定義されていないかチェックする
115 シンボルの値をチェックする
116 シンボルを未定義にする
117 コンパイラを制御する
118 コンパイルを中止する
119 定義済みのシンボルでコンパイルを制御する
120 ファイル名を取得する
121 行番号を取得する
122 コンパイルした日付を取得する
123 コンパイルした時刻を取得する
124 ほかのファイルを取り込む(1)
125 ほかのファイルを取り込む(2)
126 関数テンプレートを使う
127 クラステンプレートを使う
2-6 クラス
128 クラスとは
129 基底クラスを作成する
130 単一のクラスを継承したクラスを作成する
131 複数のクラスを継承したクラスを作成する
132 クラスのメンバを公開する
133 クラスのメンバを非公開にする
134 クラスのメンバを継承先にのみ公開する
135 公開されるクラスを指定する
136 継承先のメソッドを呼び出す
137 クラスに固定化された変数を指定する
138 クラスに固定化されたメソッドを指定する
139 クラスの生成時にメソッドを作成する
140 クラスの消滅時のメソッドを作成する
141 継承先でメソッドをオーバーライドする
142 継承先で演算子をオーバーライドする
143 クラスからオブジェクトを作成する
144 オブジェクトを破棄する
145 クラス内で自分自身を示すポインタを利用する
146 継承先で作成すべきメソッドを指定する
2-7 例外
147 例外処理とは
148 例外処理を記述する
149 例外を発生させる
150 例外が発生したときの情報を記述する
151 すべての例外を取得する
152 複数の例外を別々に取得する
第3章 標準関数の極意
3-1 高水準ストリーム
153 高水準ストリーム・低水準ストリームとは
154 コンソールから入力する(標準入力のためのストリーム)
155 コンソールへ出力する(標準出力のためのストリーム)
156 コンソールへエラー出力をする(標準エラーのためのストリーム)
157 ストリームに1文字書き出す
158 標準出力に1文字書き出す
159 標準出力に文字列を書き出す
160 標準出力に書式付きで文字列を書き出す(1)
161 標準出力に書式付きで文字列を書き出す(2)
162 ストリームから1文字を読み込む
163 標準入力から1文字を読み込む
164 標準入力から文字列を取得する
165 標準入力から書式付きで読み込む
166 文字列に書式を指定して書き出す
167 ファイルをオープンする
168 ファイルをクローズする
169 ファイルに1文字書き出す
170 ファイルに文字列を書き出す
171 ファイルに書式を指定して書き出す(1)
172 ファイルに書式を指定して書き出す(2)
173 ファイルから1文字読み込む
174 ファイルから文字列を読み込む
175 ファイルから書式付きで読み込む
176 ファイルにデータを書き出す
177 ファイルからデータを読み込む
178 ファイルの読み書き位置を移動する
179 ファイルの読み書き位置を取得する
180 読み書き位置が最後かチェックする
181 ファイル読み書きでエラーが発生したかチェックする
182 読み込みエラーをクリアする
183 読み書き位置を先頭に戻す
184 一時ファイルを作成する
3-2 低水準ストリーム
185 低水準ストリームを開く
186 低水準ストリームを閉じる
187 低水準ストリームを書き出しモードで開く
188 低水準ストリームからデータを読み込む
189 低水準ストリームへデータを書き出す
190 読み込み位置を変更する
191 読み込み位置が終端かをチェックする
192 アクセス許可マスクを設定する
3-3 ファイル操作
193 指定したファイルを削除する
194 カレントディレクトリを変更する
195 カレントディレクトリを取得する
196 ディレクトリを作成する
197 ディレクトリ内のファイルを検索する
198 ストリームからファイル番号に変換する
199 ファイルの長さを取得する(1)
200 ファイルの長さを取得する(2)
201 更新時刻を設定する
202 ファイルを削除する
203 ファイル名を変更する
204 ファイル属性を設定する
205 ファイル属性を取得する
206 ファイルが読み込み専用かチェックする
3-4 文字列操作
207 文字列をコピーする
208 文字列を文字数を指定してコピーする
209 文字列に別の文字列を追加する
210 文字列に別の文字列を文字数を指定して追加する
211 文字列を比較する
212 文字列を大文字/小文字を区別せずに比較する
213 文字列を文字数を指定して比較する
214 文字列を複製する
215 絶対値を取得する
216 文字列を数値に直す
217 文字列を指定した進数で直す
218 文字列から1文字を探す
219 文字列から単語を探す
220 文字列の最後から単語を探す
221 文字列の長さを取得する
222 文字列内で単語の位置を探す
223 文字セットに属さない文字位置を探す
224 システムエラーを取得する
225 文字列からトークンを探す
226 大文字に変換する
227 小文字に変換する
228 大文字かチェックする
229 小文字かチェックする
230 印刷できる文字かチェックする
231 アルファベットかチェックする
232 アルファベットあるいは数値かチェックする
233 空白文字かチェックする
234 ASCII文字かチェックする
235 コントロールコードかチェックする
236 数字かチェックする
237 16進数の文字かチェックする
238 表示可能な文字かチェックする
239 区切り文字かチェックする
240 マルチバイト文字をワイド文字に変換する
241 ワイド文字をマルチバイト文字に変換する
242 マルチバイト文字列をワイド文字列に変換する
243 ワイド文字列をマルチバイト文字列に変換する
3-5 メモリ操作
244 メモリを確保する(C言語)
245 メモリを再確保する
246 メモリを解放する(C言語)
247 メモリをコピーする
248 2つのメモリを比較する
249 重複したメモリをコピーする
250 指定したメモリから文字を探す
251 指定したメモリに値を設定する
252 変数のデータ量を取得する
253 メモリを確保する(C++)
254 メモリを解放する(C++)
3-6 時間操作
255 時刻を文字列に変換する
256 クロック時間を計算する
257 現地のタイムゾーンに変換する
258 時刻の差分を計算する
259 時刻の値を構造体に変換する
260 現地のタイムゾーンに合わせて変換する
261 現地時刻をカレンダー値に変換する
262 時刻を文字列に変換する
263 時刻を取得する
264 タイムゾーンを設定する
3-7 プロセス
265 プロセスを中止する
266 式を評価してプログラムを停止する
267 プログラムを終了する
268 スレッドを開始する(1)
269 スレッドを開始する(2)
270 スレッドを停止する(1)
271 スレッドを停止する(2)
272 新しい子プロセスを開始する
273 新しい子プロセスを環境変数を指定して開始する
274 新しい子プロセスをパスを指定して開始する
275 コマンドを実行する
276 新しいプロセスを作成して実行する
277 新しいプロセスを作成し、環境変数を指定して実行する
278 新しいプロセスを作成し、パスを指定して実行する
279 プロセスを終了する
280 環境変数を取得する
281 指定位置にジャンプする
282 ジャンプ先を設定する
283 エラーメッセージを出力する
284 割り込み処理を設定する
285 割り込みを発生させる
3-8 その他
286 可変引数を取得する
287 バイナリソートを利用する
288 クイックソートを利用する

第2部 アドバンスド・プログラミングの極意
第4章 STLの極意
4-1 ストリーム
289 ストリームとは
290 標準入力のためのストリームを利用する
291 標準出力のためのストリームを利用する
292 標準エラーのためのストリームを利用する
293 ストリームに書き出す
294 ストリームに改行を書き出す
295 ストリームにNULL文字を書き出す
296 ストリームに1文字書き出す
297 ストリームに指定バイト分書き出す
298 ストリームの出力をフラッシュする
299 ストリームから読み込む
300 ストリームから1文字読み込む
301 ストリームから1行読み込む
302 ストリームで数文字読み飛ばす
303 ストリームで次の1文字を得る
304 ストリームから指定バイト数読み込む
305 ストリームに1文字戻す
306 ストリームに指定文字を戻す
307 ストリームの読み込み位置を取得する
308 ストリームの読み込み位置を設定する
309 真偽値を文字列に変換する
310 数値を10進数に変換する
311 数値を8進数に変換する
312 数値を16進数に変換する
313 実数を固定小数点に変換する
314 実数を浮動小数点に変換する
315 文字列や数値を左揃えに変換する
316 文字列や数値を右揃えに変換する
317 小数点を表示する
318 符号を表示する
319 表示幅を指定する
320 埋める文字を指定する
321 実数の有効桁数を指定する
322 ファイルストリームをオープンする
323 ファイルストリームをクローズする
324 ファイルストリームを開けたかチェックする
325 ファイルストリームから読み込む
326 ファイルストリームへ書き出す
4-2 string
327 文字列を追加する
328 指定位置の文字を取得する
329 先頭のイテレータを取得する
330 C言語の文字列を取得する
331 文字列を比較する
332 文字列をコピーする
333 空文字列をチェックする
334 末尾のイテレータを取得する
335 指定位置の文字を削除する
336 指定した単語を検索する
337 指定した単語を末尾から検索する
338 指定したパターンを最初から検索する
339 指定したパターンにマッチしない位置を取得する
340 末尾から検索し、パターンにマッチしない位置を取得する
341 指定したパターンを末尾から検索する
342 文字列を挿入する
343 文字列の長さを取得する(1)
344 文字列の長さを取得する(2)
345 確保しているメモリ量を取得する
346 文字列の長さの無効値を示す
347 文字列が同じかチェックする
348 文字列が異なるかをチェックする
349 文字列を辞書順で前にあるかチェックする
350 文字列を辞書順で後ろにあるかチェックする
351 文字列を代入する
352 文字列を結合する
353 文字列を結合しながら代入する
354 指定位置の文字を取得する
355 先頭の逆イテレータを取得する
356 末尾の逆イテレータを取得する
357 文字列を置換する
358 使用メモリ量を変更する
359 部分文字列を取得する
360 2つの文字列を入れ替える
361 stringクラスを関数の引数で使う
362 stringクラスを関数の戻り値で使う
4-3 vector
363 配列を作成する
364 配列を初期化する
365 指定位置の要素を取得する
366 最初の要素を取得する
367 最後の要素を取得する
368 先頭のイテレータを取得する
369 末尾のイテレータを取得する
370 配列をクリアする
371 配列の一部を削除する
372 配列が空かどうかチェックする
373 配列の途中に要素を追加する
374 2つの配列が等しいかチェックする
375 2つの配列が異なるかチェックする
376 配列が小さいかチェックする
377 配列が大きいかチェックする
378 指定した位置の要素を取得する
379 末尾に要素を追加する
380 末尾の要素を削除する
381 扱える要素の最大値を取得する
382 キャパシティを取得する
383 キャパシティを設定する
384 要素数を変更する
385 先頭の逆イテレータを取得する
386 末尾の逆イテレータを取得する
387 要素の数を取得する
388 2つの配列を交換する
4-4 list
389 リストを作成する
390 先頭のイテレータを取得する
391 末尾のイテレータを取得する
392 リストをクリアする
393 リストの途中に要素を追加する
394 2つのリストをマージする
395 2つのリストが等しいかチェックする
396 2つのリストが異なるかチェックする
397 リストが小さいかチェックする
398 リストが大きいかチェックする
399 末尾に要素を追加する
400 先頭に要素を追加する
401 末尾の要素を削除する
402 先頭の要素を削除する
403 要素を削除する
404 先頭の逆イテレータを取得する
405 末尾の逆イテレータを取得する
406 要素の数を取得する
407 要素を並べ直す
408 別のリストを挿入する
409 ユニークな要素のみ残す
4-5 map
410 マップを作成する
411 マップをクリアする
412 要素の数を取得する
413 指定したキーにマッチする要素の数を取得する
414 要素を削除する
415 指定したキーを持つ範囲を返す
416 キーを指定して要素を見つける
417 要素を追加する
418 キーを検索する関数を設定する
419 2つのマップが等しいかをチェックする
420 2つのマップが異なるかをチェックする
421 マップが小さいかをチェックする
422 マップが大きいかをチェックする
423 キーを指定して値を代入する
424 検索後のイテレータを取得する
4-6 algorithm
425 別のコンテナにコピーする
426 別のコンテナに逆順でコピーする
427 イテレータを交換する
428 指定した要素ですべて設定する
429 指定した要素で数を指定して設定する
430 要素を交換する
431 範囲を指定して要素を交換する
432 コンテナから複数の要素を検索する
433 コンテナから値を検索する
434 値を指定して要素を削除する
435 条件にマッチした要素を削除する
436 コピーしながら削除する
437 条件にマッチした要素をコピーしながら削除する
438 要素を置換する
439 条件にマッチした要素を置換する
440 コピーしながら要素を置換する
441 条件にマッチした要素をコピーしながら置換する
442 ユニークな要素のみ残す
443 コピーしながらユニークな要素を残す
444 要素を回転させる
445 コピーしながら要素を回転させる
446 要素をランダムに配置する
447 特定の要素をまとめる
448 要素を逆順に並べる
449 コピーしながら要素を逆順に並べる
450 並び順を保持して要素をまとめる
451 値の大小により位置を変更する
452 要素をソートする
453 並び順を保持して要素をソートする
454 指定した要素の前のみをソートする
455 指定した要素の前のみをソートしてコピーする
456 バイナリサーチをする
457 最初にマッチした要素を返す
458 最後にマッチした要素を探す
459 値を挿入できる位置を探す
460 連続した要素を検索する
461 2つのコンテナが等しいかをチェックする
462 先頭から要素を検索する
463 末尾から部分シーケンスを検索する
464 比較関数を使って要素を検索する
465 先頭から部分シーケンスを検索する
466 2つのコンテナの異なる位置を取得する
467 コンテナをマージする(1)
468 コンテナをマージする(2)
469 指定した部分シーケンスが含まれているかをチェックする
470 2つのコンテナの異なる部分を取得する
471 2つのコンテナの重複部分を取得する
472 2つのコンテナで一方に含まれている部分を取得する
473 2つのコンテナの和を得る
474 ヒープを構築する
475 ヒープに要素を追加する
476 ヒープから要素を削除する
477 ヒープをソートする
478 大きいほうを取得する
479 コンテナの中で大きい要素を取得する
480 小さいほうを取得する
481 コンテナの中で小さい要素を取得する
482 次の順列組み合わせを取得する
483 前の順列組み合わせを取得する
484 生成関数を用いてコンテナの要素を設定する
485 生成関数を用いてコンテナを初期化する
486 関数を適用して新しいコンテナを取得する
487 値にマッチする要素数を取得する
488 比較関数を指定して要素数を取得する
489 要素を繰り返し処理する
490 2つのコンテナを辞書順で比較する
4-7 スマートポインタ
491 単一のリソースを扱う
492 ポインタを共有する
493 ポインタの値のみ扱う
第5章 通信の極意
5-1 ソケット関数
494 ソケット関数とは
495 通信ライブラリを初期化する
496 通信ライブラリの終了処理をする
497 ソケットを作成する
498 サーバーに接続する
499 ソケットを閉じる
500 ソケットをシャットダウンする
501 ソケットを選択する
502 ソケットを割り当てる
503 コネクション待ちを作成する
504 ソケットを受け付ける
505 データを送信する
506 データを受信する
507 オプションを設定する
508 オプションを取得する
509 ホスト名を取得する
510 IPアドレスを取得する
5-2 プロトコル
511 HTTPプロトコルとは
512 URLを指定してHTTPサーバーを呼び出す
513 データをHTTPサーバーに送信する
514 ヘッダ部のみHTTPサーバーから取り出す
515 範囲を指定してHTTPサーバーを呼び出す
516 SMTPサーバーの状態をチェックする
517 SMTPサーバーの接続を切断する
518 送信元のアドレスを設定する
519 送信先のアドレス設定する
520 メール本文を設定する
521 話題ごとにメールをまとめる
522 コンテンツタイプを設定する
523 base64文字列へエンコードする
524 サブジェクトをエンコードする
525 メールにファイルを添付する
526 POP3サーバーにユーザー名を指定する
527 POP3サーバーにパスワードを指定する
528 メールボックス内のメールの数を取得する
529 メールの一覧を取得する(1)
530 メールの一覧を取得する(2)
531 指定したメールの先頭だけ取得する
532 メール本文を受信する
533 サブジェクトをデコードする
534 base64文字列をデコードする
第6章 CppUnitの極意
6-1 ユニットテスト
535 CppUnitとは
536 テストフィクスチャを作成する
537 テストスイートの登録を開始する
538 テストスイートの登録を終了する
539 テストメソッドを指定する
540 テストメソッドの例外を指定する
541 テストメソッドの失敗を指定する
542 テストスイートに登録する
543 テスト開始時に実行するメソッドを記述する
544 テスト終了時に実行するメソッドを記述する
545 式を評価する
546 メッセージ付きで式を評価する
547 テストを失敗させる
548 期待値と比較する
549 メッセージ付きで期待値と比較する
550 実数で期待値と比較する
551 コマンドラインでテストを実行する
552 Windowsアプリケーションでテストを実行する
第7章 動作環境の極意
7-1 環境
553 C/C++の開発環境
554 Ubuntuでg++を使う
555 Windowsでgcc(cygwin)を使う
556 WindowsでVC++を使う
557 Windows上でLinux Subsystemを使う
558 Raspberry Pi上でg++を構築する
559 gcc makeのオプションを使う
560 nmakeのオプションを使う

コラム
C言語の歴史
C++は、JavaやC#と何が違うのか?
今、C言語の使いどころは?
関数コールとスタック
new演算子とdelete演算子に注意せよ!
アセンブラとC言語の関係
「\」に注意!
ポインタの勘所
静的型付き言語と動的型付け言語
C/C++を学ぶ利点

ご注文

定価3630円
(本体3300円+税10%)

別フォーマットで購入

シェアする

このエントリーをはてなブックマークに追加

関連書籍

同じジャンルの商品

お知らせ

一覧