[解決済み] <bits/stdc++.h> を #include しない方が良いのでしょうか?
2022-03-14 08:31:49
質問
のみのコードで質問を投稿しました。
#include
ディレクティブは以下の通りでした。
#include <bits/stdc++.h>
先生にはこうしろと言われましたが、コメント欄で「やめたほうがいい」と教えてもらいました。
なぜですか?
解決方法は?
含む
<bits/stdc++.h>
は、Stack Overflowでますますよく見かけるようになったようです。おそらく、今年度の国のカリキュラムに新しく追加されたものなのでしょう。
メリットはこのように漠然と与えられているのでしょうね。
-
を1つだけ書けばよい。
#include
の行になります。 - すべてのものがどの標準ヘッダに入っているかを調べる必要はありません。
残念ながら、これは怠惰なハックで、以下のような個々の標準ヘッダの代わりにGCC内部ヘッダを直接命名しています。
<string>
,
<iostream>
と
<vector>
. ポータビリティを台無しにし、恐ろしい習慣を育ててしまうのです。
デメリットは以下の通りです。
- おそらく、そのコンパイラーでしか動作しないでしょう。
- 内容が規格で決められていないので、使ってみると何ができるのかわからない。
- コンパイラを独自の次のバージョンにアップグレードするだけでも、プログラムが壊れることがあります。
- 標準的なヘッダを一つ一つ解析し、ソースコードと一緒にコンパイルする必要があるため、コンパイルに時間がかかり、コンパイル設定によっては実行ファイルのサイズが大きくなってしまいます。
やめてくれ!
詳細はこちら
Quoraがなぜ悪いかの例。
関連
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] static_cast, dynamic_cast, const_cast, reinterpret_cast はいつ使うべきですか?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 0.1fを0にすると、なぜ10倍もパフォーマンスが落ちるのですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] C++で#include <bits/stdc++.h>はどのように機能するのですか?[重複しています]。