前回は「C言語」でプログラムを書きました。
続いて、同じ機能(Helloを出力するだけ)のプログラムを「C++言語」で書きます。
そして、比較します。
右上の「Language」から「C++」を選択します。

今度は、
#include <stdio.h>
#include <iostream>
int main(void)
{
std::string hello = "Hello";
std::cout << hello << "\n";
return 0;
}
と書きます。そして、「Run」を押して、実行します。

さて、「C言語」とあまり変わっていませんが、変数指定などで人間が指定する部分がオート処理になりました。
たとえば、変数helloを指定している「std::string hello = “Hello”;」の記述では、文字数の「[6]」がなくなりました。これはコンピュータが自動で文字数を調べて処理してくれています。
同様に、文字出力の時も、「std::cout << hello << “\n”;」と書くだけです。出力されるのが文字であることを示す記号「%s」はなくなり、これも変数の定義を参照して、勝手に処理してくれます。
このように「C言語」を基本とし、それ以降の言語は自動処理を増やす方向で進化しています。
また、もうひとつ、「C++言語」になって追加された機能があります。
それが「スコープ」という機能で、「::」の記号を用いて使います。
単純に、同じ名前の変数や、同じ名前の関数を複数定義してしまうと、コンピュータが混乱してしまいます。そのため、「名前空間」というものを決めて、その空間の外と内を区別し、外と内で同じ名前の定義があっても混同しないようにします。
この機能により、同じ名前の関数が使われている別のプログラムを組み合わせて、両方の関数を区別して使用することが可能になりました。
現在のプログラム言語において、この機能は標準で装備されています。
特に Python のような、他人の作ったプログラムの機能を利用するのに長けた言語は、この機能を使うことを前提に設計されています。

コメント