「プログラマー面接宝典」エッセンスプログラミング言語部分


「プログラマー面接宝典」エッセンスプログラミング言語部分
まさにその精華を取り、その粕を取り除く.本文は謹んで《プログラマーの面接の宝典》のいくつかの肝心な知識点、間違いやすい点を記録して、いくつかの重要ですが本の中ではっきり説明していないところに対して記録しません.もちろん、ここの糟粕はそれほど重要ではないか、簡単なことを指しているだけで、書くのが悪いわけではありません.後で振り返る時、この本を読む必要がなく、文の中に残っている精華だけを読むことを望んでいます.
文にはいくつかのバグがあり、ここにも抜粋されています.
本文はプログラミング言語部分に専念し、第5章から第9章までの内容を含む.
第五章言語の詳細
5.1 y = z = 5、等号は先に右側を計算し、戻り値は付与後の左の変数値である.
5.1 printf関数の式は右から左へスタックを押して、先に右方の値を計算しなければならない.
5.4 float型1.0 fはメモリで0 x 3 f 80 00 と表す.
5.5 int定数が現れる式の変数は、通常、int型に上げる.
5.5代入演算子のデフォルトは右から左へ結合し、つまり右の値を先に計算する.
5.5(x&y)+((x^y)>>1)効果は両者の平均数をとる
5.6判断とswitch文を使わないでa、bの中の大きい1つを求めます:((a+b)+abs(a-b)/2 5.7 extern "C"の使い方:関数宣言の前に追加し、C/C++コンパイラの名前包装の異なる問題を解決する第六章前処理、constとsizeof
6.1構造体中のあるメンバーのオフセット量を求める:#define FIND(struc, e) (size_t)&(((struc *)0)->e) 6.2 C言語では、const n = 10; char carray[n]は間違っています.Cコンパイラはconstをコンパイル期間の定数と見なすことができないからです.しかし、実験は正しいことが分かった.bug 6.3 C++でクラスメンバー変数にmutable修飾子を追加すると、const関数でを修正できます.
6.3構造体の位置合わせの原則:構造体の長さは必ず最長のデータ要素の整数倍であるが、プロセッサの桁数より大きい場合、プロセッサの桁数を位置合わせの単位とする.CPUデータアライメントは、原則として、データのメモリアドレスが、そのデータ長の整数倍であることにより、運転速度を向上させる.
6.3 sizeof(string) == 4
6.3空クラスおよび(複数)継承の空クラスサイズはいずれも1であるが、虚継承のクラスには虚表ポインタが含まれ、サイズは4 である.
第七章ポインタと引用
7.1ポインタと参照の違い
参照は常に空ではありません.ポインタは空である可能性があります.使用するときは、テストに注意してください.
参照は別のオブジェクトを指すことはできませんが、ポインタはを変更できます.

7.1 int *p; *p = 0;はエラーであり、ポインタpは実際のアドレスを指さす.
7.2 char a[] = "a"配列格納中スタックでは、関数が戻ると消え、char *a = "a"配列がグローバル読取り専用データセグメントに格納.
7.2クラスBがクラスAを継承する、両方ともメンバー変数があり、Aにfメソッドがある場合、B b; b.f()はA中のfを呼び出し、fが使用する変数もA中の変数とする.
7.3 constへのポインタはconst int *、bug であるべきである.
7.3 int ( *(*f)(int, int) )(int)は1つの関数ポインタを定義し、2つのintパラメータを受信し、戻り値は1つの関数ポインタである.
7.4整数配列を指すポインタ宣言:int (*p) []、整数を指すポインタ配列宣言:int *p[]、関数ポインタの配列を指す宣言:int (*p[10])(int) 7.5サスペンションポインタはdeleteの後のポインタを指し、ポインタを0に等しくし、後続のプログラムがこのサスペンションポインタを使用してエラーが制御可能になるようにしなければならない.例えば2回目のdelete 7.5 new/deleteとmalloc/freeの違い
前者は演算子、後者は関数前者は、後者がダイナミックメモリの発行を申請する作業に加えて、非内蔵タイプについて、クラス初期化とプロファイル操作を完了する.

7.6 autoptrでコピーする場合は、ポインタを1部だけ保持しようとするため、容器にを配置するのは適切ではありません.
第九章STLテンプレートと容器
9.1リロードされていないコピーコンストラクタが深いコピーであり、ポインタが含まれている場合、コピーコンストラクタを呼び出すとポインタがコピーされ、同じポインタdeleteが回もコピーされます.
     
転載は作者を明記してください:Focustc、ブログの住所はhttp://blog.csdn.net/caozhkをクリックして開く