2016-09-19 13 views
-1

私はPythonをC++から移行する完全な初心者です。Pythonとjavaでヘッダファイルが必要ないのはなぜですか?CとC++にはそれらが必要です

C++を学んでいるうちに、ヘッダーファイルが関数の働きを知らせたり、コンパイラに定義して、iostreamがcin(ndはるかに)の定義を含んでいることを理解できるように説明しました。コンパイラはキーワードであり、その機能を理解しています。

ただし、pythonとjavaにはヘッダファイルは必要ありません。 したがって、基本的にどのようにコンパイラはpythonで 'print'または 'input'の実際の意味/機能を理解していますか?

答えて

-1

JavaおよびPythonには、importが含まれています。

一部の組み込み関数が組み込まれているため、インポートは必要ありません。

+1

重要なのは、 'import'は外部関数へのインタフェースだけでなく、実際のコードにもアクセスすることに注意してください。その意味では、Python/Javaの「リンカ」としても機能します。 – chepner

2

C/C++のヘッダーファイルは、「コピー貼り付け」メカニズムです。インクルードされたヘッダーファイルは、前処理中のファイルにそのまま書き込まれます(ソースコードを貼り付けるコピー)。 これが完了すると、コンパイラはソースコードをトランスレートします。リンカーは関数呼び出しを接続します。 これはやや古いですが、予想通りにエラーが起こりにくい場合は、本当にイライラすることがあります。

新しい言語はモジュールシステムを持っています。これはより良いものです(インポートは単純に行います)。

0

JavaとPythonでは、importという類似のキーワードを使用してパッケージを追加し、その中にメソッドを使用します。しかし、JavaやPythonのような高度な言語では、デフォルトでインポートされるパッケージはほとんどありません。例えば、 。 Javaのjava.lang。*はデフォルトでインポートされます。

+0

気高く私は今それを理解しています... –

関連する問題