
一昔前のC言語では、#include <stdio.h>などのものを、C ++言語では、#include <iostream>の1行で済ませるということでしょうか?
だけど、C + +言語で、#include<stdio.h>を使いたければ使うことは出来ますよ。だけど、#include<iostream>だけで、済みますよ。という事でしょうか?つまり、#include<iostream>は、全ストリームつまり、全ファイル・全ライブラリを1つにまとめたという事でしょうか?教えて頂けると幸いです。
で、チャットGPTに聞きました。
C++言語において、#include <iostream>はC言語の#include <stdio.h>に似た機能を果たしますが、直接的な一対一の比較ではありません。#include <iostream>はC++の標準入出力ライブラリであり、std::coutやstd::cinなどを含む機能を提供します 一方で、#include <stdio.h>はC言語の標準入出力ヘッダであり、C++でも使用可能ですが、C++の標準ライブラリである<iostream>が提供する機能とは異なります。
簡潔に言えば、#include <iostream>は標準的なC++の入出力機能をまとめて提供しているもので、全てのファイルやライブラリを含んでいるわけではありません。
という事であっているのでしょうか?後、C言語とC++では、標準入出力が異なるよ。ということでしょうか?
教えて頂けると幸いです。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
> 所で、int main() { return 0;}というのはどういうプログラムなのでしょうか?教えて頂けると幸いです。
ほとんどすべてのCプログラムに、int main() も return 0; も使われていますが、これが読めないというのは、Cを全く知らないと言うことなのでしょうか??
一応説明すると、「完了コード0で修了するプログラム」です。ヘッダファイルを使わないサンプルとして挙げたので、関数が呼べないので、「最小の正しいプログラム」ですかね。Unix/Linuxだと、/usr/bin/true コマンドの中味がこれです。
これが分からないとすると、逆にC/C++について、何を知っていますか?
No.7
- 回答日時:
> Cからはインクルード不可とはどういう意味でしょうか?
「インクルード不可」とは「インクルードできない」という意味です。
#include <iostream>
と書いてコンパイルするとコンパイルエラーになります。
> 後、C言語で、 printf関数にあたるC++は何なのでしょうか?
printfはそのまま C++ で使えるので、
#include <stdio.h>
と書いて、printfを使えば良いです。
C++ であろうが printf を使うためには stdio.h が必要です。
Cのヘッダ・関数は(もしかすると例外があるかもですが)C++でも使えます。
迅速な回答ありがとうございます。所で、int main() { return 0;}というのはどういうプログラムなのでしょうか?教えて頂けると幸いです。
No.6
- 回答日時:
「標準入出力」はOSの機能であって、C言語の機能ではありません。
stdioは「C言語設計者が『C言語の標準』と考える方法による入出力」をみんなで共有するための仕組みです。OSの標準入出力とは直接の関係はありません。
なので、stdioを使わずにOSの標準入出力にアクセスすることもできます。
「ボクの考えた方法による入出力」を使うこともできます。
iostream は「C++言語設計者が『C++言語の標準』と考える方法による入出力」です。
C言語のstdioの方法はC++には似わないと考えて作られました。
> 言語の printf関数にあたるC++の関数は何なのでしょうか?
答えは2つあります。
(1) iostreamにはありません。
そもそもの考えが違うので、printfにピッタリ該当するものはiostreamにはありません。
printfで何をどう出力しようとしているかを考え、それを std::cout で記述するにはどうするかを考えます。
(2) C言語との互換のために、cstdioが用意されています。
https://cpprefjp.github.io/reference/cstdio.html
No.5
- 回答日時:
No.4
- 回答日時:
ヘッダをインクルードするのは、何らかの関数・変数を使うためです。
printf や fopenを使いたければ、CでもC++でも、stdio.h のインクルードが必要です。stdio.hで定義されている物を全く使わないならCでも不要。int main() { return 0; } とか。
C++ で、std::cout 等を使いたければ iostream のインクルードが必要です。iostream で定義されている物を全く使わないなら不要。(Cからはインクルード不可)
sin cos 等の数学関数が使いたければ math.h のインクルードが必要だとか、いろいろ同じ事です。
Cからはインクルード不可とはどういう意味でしょうか?後、C言語で、 printf関数にあたるC++は何なのでしょうか?教えて頂けると幸いです。
No.3
- 回答日時:
stdio.hとiostream.hの違いはヘッダファイルを開けばわかります。
違いはこれを参考にしてください
https://docs.oracle.com/cd/E19957-01/805-7889/6j …
https://docs.oracle.com/cd/E19957-01/805-7889/z4 …
http://nalab.mind.meiji.ac.jp/~mk/labo/text/welc …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
DLL読み込み時エラー
-
iPhoneのカメラロールへ画像を...
-
自作ライブラリとプロジェクト...
-
gcc に mktemp 危険と怒られ...
-
Ps+のフリープレイでDestiny2の...
-
本格的なGUIを作るのにおすすめ...
-
C言語について。
-
Cでmd5を使うには
-
ライブラリ作成時のグローバル...
-
ASP ODBC以外のSQLserver接続方法
-
オブジェクトブラウザの「stdol...
-
declaration of 'index' shadow...
-
DirectX Graphics と OpenGLっ...
-
至急!!iTunesライブラリデー...
-
iCloudフォトライブラリ内の画...
-
VB.NET とドットNET(.NET...
-
String^の^自体が何を意味して...
-
なぜHTMLのソースコードが無料...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
iCloudフォトライブラリ内の画...
-
Google ColaboでGUI作成
-
python urlopen error について...
-
本格的なGUIを作るのにおすすめ...
-
C言語について。
-
C++ 標準ライブラリの実際の中...
-
unix-c と linux-c の違いは?
-
C# EXCELセルの入力規則設定に...
-
declaration of 'index' shadow...
-
ライブラリ作成時のグローバル...
-
システムコールと標準ライブラ...
-
マウスのクリックを自動で
-
設定ファイルを扱うライブラリ...
-
Ps+のフリープレイでDestiny2の...
-
LIBCMT.LIBをリンクしてコンパ...
-
itunesで・・・
-
DLL読み込み時エラー
-
Visual C++2008について
-
c# 特徴の命名の仕方
おすすめ情報
もしかして、C言語とC++の#include<studio.h>と#include<iostream>の違いは、C++では、C言語の printfなどの関数を使わなくてもいけるし、C++では、C言語の printf関数よりももっと便利な関数があるよ。という事でしょうか?教えて頂けると幸いです。