Skip to Content
C++の紹介 (Japanese Edition)
book

C++の紹介 (Japanese Edition)

by Frances Buontempo
March 2026
Intermediate
348 pages
4h 30m
Japanese
O'Reilly Media, Inc.
Content preview from C++の紹介 (Japanese Edition)

第1章。こんにちは 、世界!

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

人間はコードを書くが、コンピュータが理解するのは0と1だけだ。だからコードはコンピュータ向けに「翻訳」される必要がある。PythonやJavaScriptのような言語はインタプリタ型だ。つまりツールがコードを読み取り、実行時に動的に処理を決定する。こうしたコードは実行するたびに再解釈されねばならない。

JavaやC#のような他の言語は、中間言語(例えばJavaのバイトコード)にコンパイルされる。出力された中間言語は仮想マシンによって解釈されるため、コードを一度コンパイルすればほぼどこでも実行できる。これは実行のたびにコードを解釈するよりも効率性が高い。なぜなら最初の変換ステップは一度だけ行えばよいからだ。

C++は異なるが、CやFortranなど他の言語と同じプロセスを踏む。C++ソースコードは直接、コンピュータが理解できる形式に変換される。C++コードをビルドする際には、二つのステップが行われる。

まずコンパイラがコードを読み取り、32ビットWindowsや64ビットLinux、組込みシステムなど、ターゲットマシン固有のオブジェクトファイルを生成する。異なるマシンで実行したい場合は、再ビルドが必要だ。 小規模なプログラムの場合、コンパイラが生成したオブジェクトファイルはメモリ内に残ることもある。大規模なプログラムでは、拡張子*.o*.obj を持つこれらのファイルがマシン上に生成されるのを目にするだろう。

次に、リンカーが オブジェクトファイルを結合してライブラリを生成する。このライブラリは別のコードベースで使用できるほか、直接実行可能なプログラムとしても利用できる。

要するに、コードを書くと、コンパイラがコードを解析してオブジェクトファイルを生成し、リンカがそれらを結合して実行可能なプログラム(または使用可能なライブラリ)にする。図1-1に示す通りだ。

Diagram illustrating the process of coding, compiling into object files, and linking those files to create a program.
図1-1. コンパイラはソース ファイルからオブジェクトファイルを生成し、リンカがそれらを結合して最終出力を生成する

理論上、特定のマシン向けに事前にコンパイルとリンキングを行うことで、プログラムのスピードを向上させられる。実際、C++はスピードを重視して選ばれることが多く、ブラウザやJava仮想マシンもC++で実装されている場合がある。

C++は確かに難しいという評判がある。比較的低レベルな言語であり、より多くの制御権を与え、非常に高速なコードを書く可能性を秘めている。例えるなら、マニュアルトランスミッションの車はオートマチック車よりもドライバーに多くの制御権を与える。より速く走れるが、操作を誤ればギアを間違えたりエンジンをストールさせたりするかもしれない。

同様に、C++コードの小さなミス一つでコンパイラが大量のエラーを吐き出したり、リンカが「エラー、関数が見つかりません」と主張したりする。この本を読み進める中で、時折問題に遭遇するかもしれない。慌てる必要はない。問題の発生箇所を直感的に見極める力が養われるし、私は簡単なところから導いていく。

他のプログラミング言語を既に知っているなら、本書を読むことでその言語の内部動作をより深く理解できるだろう。C++はハードウェアに近づくため、どの言語でもプログラミングの理解が深まる。C++を学ぶ時間は必ず報われる。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

エージェントメッシュ (Japanese Edition)

エージェントメッシュ (Japanese Edition)

Eric Broda, Davis Broda

Publisher Resources

ISBN: 0642572352653