++Rerealization-ドッキングステーション(1)


:この文章はバッキンド様のビデオで悟った知識をまとめています

[1.ミスが倍になる]


:誤使用の場合、4 byteのfloatよりも8 byteのdouble(誤差範囲など各方面において良い)
float承認有効数字は6ビット-->相対誤差は10^-6
double承認有効数字は15ビット-->相対誤差は10^-15

[2.誤った比較は等号Xである]

double a = 0.1+0.1+0.1;
double b = 0.3;
if(abs(a-b) < 1e-12) cout << "same" ;
:1 e-12=10^-12の意味!

[3.使用参考者(&)とSTL]


:STLを使用する場合、データ構造を超えた場合は値のみがコピーされ、O(N)の時間的複雑さが必要となります.
しかし、参考者(&)を使って直接操作でき、O(1)の時間的複雑さも高い!

[4.getline()-スペースを入力]

string s;
getline(cin, s);
:c++では、<string>getlineを使用してスペースを含む入力を受信します.
(<iostream>の中のcin.getline()とは違います!)

[5.cin/coutおよびscanf/printf]


  • scanf/printfおよびcin/cout
    :機能に差はありませんが、cin/coutを使用する際の注意点があります.
    1) ios::sync_with_stdio(0)の作成
    :C++ストリームを使用してCの標準I/Oと同期する
      したがって、I/O量が大きいとタイムアウトする可能性があります.
      対応するコマンドで同期を中断!でもcin/coutしか使えない!
    2)cin.tie(0)の作成
    :cinとcoutのstreamを解く!
      defaultは常にcinの前にcoutのバッファを空にします.
      入力→出力→入力→出力が重複するように並べ替えます.
      でも!これらの不要な接続を切断することで、coteは出力のみを表示するため、パフォーマンスが向上します.
  • [6.改行"n"]

  • ENDはオープンライン+出力バッファクリア機能ですが、パフォーマンスが悪いため、"n"
  • を使用します.

    [7.カテゴリが開発と異なる(総合タイトル/グローバル変数付き)]

  • の開発の鍵はクリーンコードですが、/開発の鍵は私の迅速な作成にあります.
    :グローバル変数でも改行/総合ヘッダーなどを使用!
  • 最後のスペースまたは改行を出力してもよい.
  • デバッガは使用しないでください
    :100行程度しかないので、鼻輪が締め付けられます.
      
  • ヘッダーは
  • 2<bits/stdc++.h>:複数種類のヘッダーの統合-->実際のテープ上でも
  • をブロックする可能性があります.