Hello WorldとC・C++プログラムの構造
このレッスンでは、CとC++で書いた最も短い完全なプログラムを比べ、プログラムの基本的な構造を学びます。
はじめに
CとC++のプログラムは、どちらもmain関数から実行が始まります。構造は似ていますが、画面にデータを表示するのに使う標準ライブラリが違います。Cはstdio.hライブラリのprintf関数を、C++はiostreamライブラリのstd::coutオブジェクトを使います。
大切なポイント
- コンパイラの警告(compiler warning)を有効にして、すべての警告を直しましょう。
- それぞれの値のデータ型と寿命(lifetime)をしっかり理解しましょう。
- 入力データと配列のインデックスの範囲は必ずチェックしましょう。
CとC++のコード例
CとC++の比較
#includeの行は、コンパイルの前に必要なライブラリをプログラムに取り込みます。Cのprintfは指定した書式どおりに文字列を表示し、C++では演算子<<でデータをstd::coutに送り、コンパイラが型を自動でチェックします。mainの最後のreturn 0は、プログラムが正常に終了したことをOSに伝えます。
C
Cは小さな手続き型の関数を使い、データがメモリ上でどう表されるかをそのまま見せます。
C++
C++は低レベルの操作もできるまま、ライブラリの型やより安全な抽象化を加えます。
発展問題
両方のバージョンを実行し、コードを書き換えて、それぞれの言語がもたらす安全性の違いを観察しましょう。
- 不正な入力や境界の値で試しましょう。
- 警告を増やすフラグ-Wall -Wextra -Wpedanticを付けてコンパイルしましょう。
- 共通の宣言はヘッダーファイルに、実装は別のファイルに分けましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
すべてのチャレンジ