「C++/C++特有の概念」の版間の差分

削除された内容 追加された内容
M すじにくシチュー がページ「C++/基礎知識」を「C++/C++特有の概念」に移動しました: 内容が「基礎知識」ではない。
C++ 2017年7月17日 (月) 16:40‎ から前書き説明を、こちらに移動。
1 行
 
== Cの基礎知識 ==
== C++とは ==
[[Image:BjarneStroustrup.jpg|frame|ビャーネ・ストロヴストルップ]]
C++は、1979年、
米国ニュージャージー州マレーヒルのベル研究所で、
ビャーネ・ストロヴストルップによって開発された、
オブジェクト指向型のプログラミング言語である。
何度かの改訂、
アレクサンダー・ステパノフによる標準テンプレートライブラリ(STL)の作成を経て、
標準化されている<ref>神林靖監修 Herbert Schildt著『独習C++ 第3版』トップスタジオ訳、翔泳社、2005年11月05日 第3版第10刷発行、p. iii</ref>。
 
C++は、Cを拡張してより使いやすい言語にすることを目指して作成された。
実際には、現在でもCは非常に人気のある言語であり続けている。
このことには、様々な理由が考えられるが、
例としては、
# Cはよく用いられる言語なので、他人のコードを読むためには、Cを勉強する必要がある。
# C++は、Cよりも機能が多く、勉強するのに時間がかかる。
# C++が提供する機能は、ある程度大きいコード以外ではあまり用いる機会がない。
等があげられる。
 
C++が提供するCの拡張として以下の機能があげられる。
これらは、Cを用いる上でたびたび現れる問題に対応するために導入された。
<!-- # constの使用 -->
<!-- # インライン関数 -->
# クラスの定義や継承
# 関数や演算子のオーバーロード
# テンプレート
# 仮想関数
# 例外処理
# 名前空間
<ref>[http://e-words.jp/w/C-_-_%E8%A8%80%E8%AA%9E.html C++言語とは - 意味/定義 : IT用語辞典]</ref>
 
== CとC++の相違点 ==
# Cでは引数がない関数の関数原型の引数のリストにはvoidを指定する。一方、C++ではvoidの指定を省略できる。
# Cでは関数原型の記述は推奨されるが任意である。一方、C++では必ず記述しなければならない。
# Cでは関数の戻り値の型がvoid以外の時でもreturn文で値を指定しなくともよい。一方、C++では必ず指定しなければならない。
# Cでは関数の戻り値の型を省略すると整数型が使われる。一方、C++では必ず型を指定しなければならない。
# Cではローカル変数の宣言はブロックの先頭で行う必要がある。一方、C++ではどこで行ってもよい。
# Cではbool型がない。一方、C++ではbool型がある。
 
Cの基礎知識については、
[[C言語/基礎知識]]を参照してください。
6 ⟶ 45行目:
より改善された方法があるため、
学習する必要はあまりありません。
 
== CとC++の相違点 ==
#Cでは引数がない関数の関数原型の引数のリストにはvoidを指定する。一方、C++ではvoidの指定を省略できる。
#Cでは関数原型の記述は推奨されるが任意である。一方、C++では必ず記述しなければならない。
#Cでは関数の戻り値の型がvoid以外の時でもreturn文で値を指定しなくともよい。一方、C++では必ず指定しなければならない。
#Cでは関数の戻り値の型を省略すると整数型が使われる。一方、C++では必ず型を指定しなければならない。
#Cではローカル変数の宣言はブロックの先頭で行う必要がある。一方、C++ではどこで行ってもよい。
#Cではbool型がない。一方、C++ではbool型がある。
 
== オブジェクト指向 ==