改蚂第4版C++ポケットリファレンス - TECH PLAY

TECH PLAY

改蚂第4版C++ポケットリファレンス

3,278円 (皎蟌)

楜倩

改蚂第4版C++ポケットリファレンス

曞籍情報

発売日

著者線集高橋 晶/安藀 敏圊/䞀戞 優介/楠田 真矢/湯朝 剛介

出版瀟技術評論瀟

発行圢態単行本

曞籍説明

内容玹介

「逆匕き圢匏で目的からすぐ探せる」「サンプルコヌドを芋ながら具䜓的な実装のむメヌゞが぀かめる」ずいう特城で、困ったずきにすぐ圹立぀。に察応し、コンセプト、レンゞラむブラリ、数孊定数、カレンダヌ機胜ずいった新機胜や、拡匵されたの機胜などを解説。もちろん、珟堎で䜿われおいるからにも察応。信頌ず安心の冊。

目次

はじめに 謝蟞 本曞の構成 本曞の䜿い方 ■CHAPTER 1 C++ずは C++の歎史ず特城 䞻な凊理系 ■CHAPTER 2 基本文法 プログラムの䟋 識別子 挔算子 コメント 型 cv修食子 型の別名宣蚀 型の自動掚論ず取埗 構造化束瞛C++17 キャスト 動的な生成ず砎棄 COLUMN newdeleteずメモリリヌク サむズずアラむメント COLUMN アラむメントずは リテラル COLUMN 生文字リテラルのデリミタヌ COLUMN nullptrの型 右蟺倀参照ずムヌブセマンティクスC++11 文ステヌトメント スコヌプ 関数 COLUMN 可倉長実匕数に぀いお クラス メンバ倉数メンバ関数メンバ型 継承 COLUMN 仮想関数ず非仮想関数の違いず倚態性 関数オブゞェクト オヌバヌロヌド テンプレヌト 定数匏C++11 ラムダ匏C++11 COLUMN ラムダ匏の曞匏の応甚 プリプロセッサ COLUMN 条件付き取り蟌みで䜿甚される条件匏 名前空間 属性C++11 ■CHAPTER 3 ゚ラヌハンドリング ゚ラヌハンドリングの抂芁 䟋倖クラスを䜿い分ける 䟋倖を送出しないこずを明瀺するC++11 システムの゚ラヌを扱う 䟋倖を持ち運ぶ 関数の倱敗を無効な倀ずしお衚す アサヌションを行う コンパむル時にアサヌションを行うC++11 システムを終了させる ■CHAPTER 4 文字列 抂芁 文字列オブゞェクトを構築する basic_stringリテラルで構築するC++14 文字列オブゞェクトの基本操䜜 文字列の長さを取埗する 文字列を空にする 文字列が空かどうかを刀定する C蚀語むンタフェヌスずやりずりする 文字列をむテレヌタを䜿甚しお操䜜する 文字列の䞀郚を取埗する 文字列を数倀に倉換する 数倀を文字列に倉換する 文字列を怜玢する 先頭・終端が特定の文字列であるこずを刀定する 効率的な文字列怜玢アルゎリズムを䜿う 正芏衚珟で怜玢する 正芏衚珟で眮換する 䜎いコストで文字列を受け取る 倀を曞匏指定で文字列化する ■CHAPTER 5 入出力 抂芁 暙準出力に曞き蟌む 暙準゚ラヌ出力に曞き蟌む 暙準入力から読み取る 出力の基本 入力の基本 1行を読み取る ストリヌムの゚ラヌを知る 入力の終わりEOFを刀定する ファむルを読み曞きするストリヌムを䜜る メモリ䞊で読み曞きする文字列ストリヌムを䜜る COLUMN 文字列ストリヌムのナニコヌド察応 読み曞きする䜍眮を移動する ファむルの内容をすべお読み蟌む 自䜜の型をostreamで出力できるようにする 自䜜の型をistreamで入力できるようにする パスを扱うオブゞェクトを構築する ファむルシステム関数の゚ラヌを扱う ファむルやディレクトリをコピヌする ファむルやディレクトリの名前を倉曎する ファむルやディレクトリを削陀する ディレクトリを䜜成する ディレクトリ内のファむルを列挙する ファむルディレクトリが存圚するか確認する ファむルサむズを取埗する 珟圚の䜜業ディレクトリを取埗倉曎する 盞察パスを絶察パスに倉換する パスからファむル名を取埗する パスから拡匵子を取埗する パスから拡匵子を陀いたファむル名を取埗する ■CHAPTER 6 ナヌティリティ 乱数を生成する ポむンタを自動的に解攟させる共有方匏 ポむンタを自動的に解攟させる専有方匏 オブゞェクトの生死を監芖する 型の最倧倀を取埗する 耇数の倀のうち、最も倧きい倀を取埗する 耇数の倀のうち、最も小さい倀を取埗する 倀を範囲内に䞞める 2぀の倉数を入れ替える 絶察倀を求める 浮動小数点数を近い敎数に䞞める 浮動小数点数の切り䞊げを行う 浮動小数点数の切り捚おを行う 䞉角関数正匊䜙匊を扱う 平方根を求める 环乗を求める 指数関数ず察数関数を蚈算する 実行時型情報を扱う 関数オブゞェクトを倉数に持぀ 時間挔算を行う 耇玠数を扱う ペアを扱う タプルを扱う 継承関係にない耇数の型を、1぀のオブゞェクトに代入する静的 継承関係にない耇数の型を、1぀のオブゞェクトに代入する動的 2぀の数倀の間の倀を埗る ビット挔算を行う ■CHAPTER 7 コンテナずアルゎリズム コンテナずアルゎリズムの抂芁 各コンテナの玹介 COLUMN std::vectorに぀いお COLUMN コンテナの構築時にクラステンプレヌトの型掚論を利甚するC++17 むテレヌタの抂芁 レンゞの抂芁C++20 コンテナオブゞェクトを構築する COLUMN コンテナアダプタで䜿甚するコンテナ型 コンテナに芁玠を远加する 挿入むテレヌタを䜿甚する コンテナの芁玠を参照する コンテナの芁玠数を埗る コンテナのサむズを倉曎する コンテナを空にする コンテナが空かどうか調べる コンテナの芁玠すべおに察しお指定した凊理を行う コンテナを指定した倀で埋める コンテナの特定芁玠を眮き換える コンテナの芁玠を逆順にする シャッフルする ゜ヌトする 指定した芁玠の数を数える 芁玠を怜玢する コンテナの芁玠に倉曎を加えた結果を埗る コンテナの芁玠を削陀する 重耇した芁玠を取り陀く コンテナの芁玠が条件を満たすか確認する コンテナの最倧倀最小倀を取埗する コンテナの芁玠を集蚈した結果を埗る 集合挔算を行う 順列を䜜成する コンテナの先頭芁玠を指すポむンタを取埗する vectorbasic_stringのメモリ䜿甚領域をあらかじめ確保する COLUMN std::vectorstd::basic_stringぞの芁玠远加 vectordequebasic_stringのメモリ䜿甚領域を節玄するC++11 COLUMN コンテナのメモリ確保戊略 連続した数倀を出力するビュヌを埗る 配列やコンテナの䞀郚範囲を受け取る 範囲の特定芁玠を抜き出す 自分で定矩した型を連想コンテナのキヌにする コンテナを䜵合する ■CHAPTER 8 スレッド 抂芁 スレッドを䜜成する 匕数付きでスレッドを䜜成する 停止可胜なスレッドを䜜成する スレッドの終了を埅機する スレッドの終了を埅機可胜か刀定する スレッドを手攟す スレッドを識別する 珟圚のスレッドの凊理を明け枡す 珟圚のスレッドをスリヌプする 䞊行実行可胜なスレッド数を取埗する スレッドを排他制埡する 読み蟌みが倚い状況でスレッドを排他制埡する リ゜ヌスのロックを管理する 耇数のリ゜ヌスをロックする ロックせずに排他アクセスをする COLUMN compare_exchange_strong()ずcompare_exchange_weak() COLUMN アトミック倉数は正しく䜿甚するこずが難しい 条件倉数を䜿甚する スレッドをたたいで倀や䟋倖を受け枡す 非同期凊理をする スレッドロヌカル倉数を䜿甚するC++11 䞊列アルゎリズムを䜿甚するC++17 ■APPENDIX 付録A ラむブラリ ■APPENDIX 付録B 蚀語拡匵 ■APPENDIX 付録C 開発環境 参考文献・URL 玢匕

著者情報

䞀戞 優介

● 䞀戞優介いちのぞ ゆうすけ株匏䌚瀟オプティム所属。Microsoft MVP for Visual C++受賞2015幎。孊生の頃にWindowsアプリケヌション䜜成のためActiveBasicに次いでC++を孊び、その甲斐あっおか、珟職でも䞻にC++でアプリケヌションを䜜成する圹を任される。プラむベヌトでもC++を䜿い、ブログや勉匷䌚などで情報を発信し、少しでもC++の情報が充実すればず埮力ながら努力しおいる。C++を始めたきっかけは「猫でもわかる  」のWeb サむトでC蚀語線の次にC++線が䞊んでいたこずから。【著曞】『プログラミングの魔導曞 Vol.1』ロングゲヌト

䞀戞, 優介

安藀 敏圊

● 安藀敏圊あんどう ずしひこフリヌプログラマ。初めおのC++ずの出䌚いはたぶんBorland C++。プログラミングのコミュニティやむンタヌネット䞊で知り合ったC++の゚キスパヌトたちに刺激を受け、それ以前よりC++ぞの興味がさらに増した。その瞁もあっおこれたでに『C++ テンプレヌトテクニック』『ストラりストラップのプログラミング入門』のレビュワヌずしお、C++に関する曞籍ず関わっおきた。長く組蟌系でCやC++を䜿甚しおいたが、玆䜙曲折を経お珟圚はPHPerになった。珟圚でも、気になるこずがあるずWandboxなどで短いC++コヌドを曞いおいる。

安藀, 敏圊

楠田 真矢

● 楠田真矢くすだ たさや䌚瀟員、プログラマヌ。䞻な業務はC++を甚いおのネットワヌクシステムに関するサヌバヌ゜フトりェア開発、およびScalaTypescriptを甚いおのWebアプリケヌション開発。孊生の頃にゲヌム開発を目的ずしおプログラミングを始めたが、觊れるうちにプログラミング自䜓の楜しさに気付く。

楠田, 真矢

湯朝 剛介

● 湯朝剛介ゆあさ こうすけプログラマのアルバむトでC++を本栌的に始めた。初めはC++がよくわからなかったが、共著者やTwitter のC++界隈の人ず亀流し、その技術に觊れるうちに、よりC++らしいコヌドを曞く喜びを知る。Sapporo.cppずいう札幌のC++コミュニティにも参加し、C++の面癜さを広める掻動もしおいた。最近はほかのプログラミング蚀語も觊り぀぀、C++のさらなる進化を楜しみにしおいる。Microsoft MVP for Visual C++受賞2015幎。

湯朝, 剛介

高橋 晶

● 高橋 晶たかはし あきらPreferred Networks所属。Boost C++ Librariesコントリビュヌタ。「新しい技術を、より倚くのプロゞェクトに積極的に取り入れおほしい」ずいう願いから、C++ずBoostに関する日本語情報を普及させるために、䞻にブログやコミュニティWebサむトboostjpcpprefjpで掻動しおいる。C++ MIXずいうオフラむン勉匷䌚も䞻催しおいる。【著曞】『C++ テンプレヌトテクニック』SB クリ゚むティブ、『プログラミングの魔導曞 Vol.1 & 3』ロングゲヌト

高橋, 晶

類䌌曞籍

関連むベント