1.C ++ Cさんへの拡張

私はコミュニケーションのプロセスの一部、レッツ・レビュー何C ++を置くために持っているので、C ++の内容を確認する方法がない場合には、インタビューは今日は多くのことを頼まれた、どのようにできないの答えは、最高でした。

 

1.linux環境下でのC ++。

  最初のC ++プログラム

する#include <stdio.hに> 
する#include <iostreamの> int型のmain()
{ 
    のprintf(" Hello Worldの\ n "); // C语言写法 
    のstd :: アウト << " ハロー" << " 世界" <<はstd ::てendl; // C ++写法リターン0 ; 
}


     

  C ++プログラムでは、Linuxシステムのコマンドでコンパイル:G ++ -oハローHELLO.CPP

  (1)サフィックスC ++ファイル:.cppファイル.CXX .ccに.HPPの.h

  (2)C ++ヘッダファイル:標準C ++ヘッダファイルは、入出力ストリームとして、何.Hではありません。

    1.あなたが追加したときに、C言語の標準ライブラリ関数にC ++を使用したい場合は、ファイルのヘッダが削除された.Hべきであり、cはstdio.hなど、前に追加された------> cstdioを

    2.追加したときにも、C言語のヘッダファイルを指定することができます

extern「C」{の#include <add.h>}

  (3)C ++プログラムでは、coutのは、CERR、詰まりオブジェクトは(C言語の標準入力ファイル、標準出力、標準エラー出力に類似)が自動的に作成されたCIN、ユーザーは、もはや新しいのIStreamのostreamオブジェクトまたはオブジェクトを作成することはできません。

std :: CIN >>変数など:INT A、ダブル B;のstd :: CIN >> A >> B; 
STD :: COUT <<変数/定数例:INT A = 12でありダブル B = 10.1 ; STD ::裁判所未満<< << "" << B <<はstd ::てendl;

 

2.C ++ Cさんへの拡張

ヒープ領域を割り当てます

  (1)を適用し、リリースのmalloc ---ユーザ独自のアプリケーション空間とリリースでは、C言語での空きスペース

  アプリケーションおよびCに新しい-----削除(2)スペースを解放する++

アプリケーションフォーマット:
データ型   * P =   新たな新しい  データ型
など:
CHAR * P = 新しい新しい charが  ヒープ空間内チャーオブジェクト空間(1バイト)を適用
 チャー * P = 新しい新しい 文字(「A」)及びバイト空間を適用します初期化   チャー * P =(CHAR *)はmalloc1 CHAR * P = 新しい新しい チャー [ 100アプリケーション・ヒープ領域には] 100文字オブジェクト- 配列

放出形式:
削除ポインタ; 
例えば:
削除Pを; //はのみ適用CHARオブジェクト 
削除[] P; // フリー連続空間(オブジェクト空間100放出)

    新しいとC言語のmalloc関数を削除して、Cでの類似点と相違点の自由++

  (1)空間が連続している、ヒープスペースを申請することができます。

  (2)新たなコンストラクタは、+ malloc関数と等価です

  (3)削除デストラクタが無料+に対応します

 

名前空間

  役割:避け関数、変数、紛争の種類、競合を避けることができたときに、クロス開発します。

名前空間スペース名{ 
   メンバー(非メイン関数、変数、定数、構造、等)
}。

 

名前空間のclass01 
{ 
   文字列ジャック。
   文字列はバラ。
}。
名前空間のclass02 
{ 
   文字列ジャック。
   文字列はバラ。
}。

INT メイン()
{ 
   class01 ::ジャック = 「classs01Jack」。
   class02 ::ジャック = 「class02Jakc」。
}

  メンバーは、スペースの使用します

    1.直接メンバースペースを使用する::

class01 ::ジャック=「classs01Jack」。

    2.指導インジケータを使用して

使用して 名前空間の class01;   // すべてのグローバルゾーンにさらさスペースメンバーclass01
 // 文字列ジャック= ""; 
int型のmain()
{ 
   ジャック = "classs01Jack";   // ジャックをclass01の属する内部 
   class02 ::ジャック=「class02Jakcを「; // ジャック内class02に属します 
}

    3. usingステートメントのメンバー

使用 class01 ::ジャック;   // 文字列は、現在のファイルに定義されている現在位置ジャックのコピーを作成するために同様のジャックclass01空間; 
int型のmain()
{ 
   ジャック =「classs01Jack」;   // ジャック内部属するclass01 
   class02 :: =ジャック"class02Jakc"; // ジャック内部に属するclass02 
}

  名前空間

    1.ネストされた名前空間

 名前空間AAA
   {
       名前空間BBB
       {
           文字列名;
       }
  }
   // スペースでネスト
  // 名前に
  // AAA :: :: BBBに名前を付けます

  2.同じエリア内の同じ名前空間に属し、同じ名前空間の同じ名前空間、

// 同じ名前の名前空間-空間で(同じ領域)属する
名前空間CCC 
{ 
    INT数= 123 ; 
}; 

名前空間CCC 
{ 
    int型データ= 321 ;; 
}

  宇宙空間スペースは匿名のスペースを除いて、名前に追加する必要があり、使用する3.匿名のメンバーは、現在のドキュメント内の匿名のスペースのメンバーは、(現在のファイルのみに)直接使用することができます

 名前空間{
       int型のmyage。
  }

引用文

    アプリケーションは、変数または定数の別名です。

int型 = 10 ;
 int型 * p =&;

    定義:データタイプ=&参照変数

       データ・タイプ&変数/定数へ= const参照

int型 = 10 ;
 INT&B =; Bは、Aへの参照であります

    基準特徴:

1 参照は、メモリ空間、および共通スペースの参照オブジェクトを取りません。
2 参考文献は、参照されたオブジェクトのデータ型と一致する必要があります
3 定義を参照する場合は初期化する必要があります
4 参照がオブジェクトのみを参照することができ、オブジェクトは複数回参照することができ、参照が再び参照されます
5 オブジェクト参照が一定であれば、基準は、CONSTによって修正されなければなりません

   これは、引数として引用しました

      値によって2.住所3.パス・パス参照を1:モードを渡すパラメータ機能

ボイドスワップ(INT&、INTB)
{ 
  int型、T = A。= B; 
  B = T。
} 
int型 = 123、B = 456スワップ(B)

    const参照の変更

const  int型、A = 100 ;
const  int型&B = ;
CONST  INT&C = 123
CONSTは、グローバル変数の修飾   のconst  int型のサイズ= 100 ; // 読み取り専用データセグメントに格納された 
CONSTは、ローカル変数を修飾   CONST  INT PSIZE = 200であり ; // データは、スタック空間に格納されている
INT * P =(INT *)&PSIZE;   // P点PSIZE空間は、シンボルのコピーである* pが修正することができるが、PSIZE自体は変更しない 
* P = 20であり
COUTは << * Pは、<< "" << ENDL << PSIZE; ==> 20であり200です

  C ++は、ほぼ一定のCONST修飾マクロの代わりに使用され

#defineサイズ100 ==>のconst int型のサイズ= 100。

  使用チェックデータ型で、マクロが定義されていない場合1 CONSTは定数を変更し(直接交換)

  使用中に、複数のマクロにスペースが割り当てられた場合にのみ割り当てられた後、2 constが一定の間隔を変更しました

  3. CONST変更されたデータが最適化されます

  修正に言及するとき、関数のパラメータが使用されている--- constが参照されたオブジェクトの値がそうでない場合は、その後、我々はconst参照パラメータの変更を追加する必要がある関数内で変更され、その結果、コンパイラはエラーを指摘することができます。

int型の追加(CONST  INT&、CONST   INTB)   
{ 
// ++。
返す +のBを、
}

関数のオーバーロード

  定義:関数名と同じ関数パラメータリスト、機能のこのシリーズは、関数のオーバーロードと呼ばれる別のテーブル、関数のオーバーロードは、同じ名前の問題を解決することができます。

 

int型の追加(CONST  INT&、CONST  INT&B){ 返す +のBを;}
 ダブル追加を(CONST  ダブルCONST  ダブル&B){ 返す + bを;}

 

    関数のオーバーロード - 関数呼び出し

    ---コンパイル時に関数のオーバーロードは、関数の引数に応じて対応する機能を一致します

    コンパイル時に静的鎖--- EDは、関数(静的鎖ED多型)コールとして決定されています

  なぜC ++関数のオーバーロードを達成することができます---コンパイラ機能をコンパイルすると、関数名、およびパラメータリストを検出すると、

  コンパイル時の機能のC言語コンパイラは、関数名のみを検出し、関数のパラメータが検出されません

 

  基底関数オーバーロード:1、同じ関数名、2、パラメータリスト異なる、  追加(int型、ダブル)、3.const 修飾は、ポインタまたは参照基底関数オーバーロードとして使用することができます

 

関数のデフォルトのパラメータ- 関数の引数のデフォルト値

#include <入出力ストリーム>
 のextern  " C " 
{ 
の#includeは<sys / types.h>に
する#include   <SYS / stat.h> 
の#include <fcntl.h> 
} 
使用して 名前空間STDを、
int型 open_lcd(CONST  文字 *ファイル名= " / DEV / FB0 "INTフラグ= O_RDWR)
{} 
int型メイン(ボイド
{ 
    int型 FD = open_lcd(" / DEV / FB0 " 、O_RDWR)。
    FD = open_lcd(" は/ dev / FB0 "); 
    FD = open_lcd()。
    リターン 0 ; 
}

  デフォルトルールのパラメータ:パラメータの列が連続して右から、デフォルトで左にしなければなりません

    INTショー(INT A = 2、INT B = 1、INT C = 0)。

    INTショー(INT BをINT、INT C = 1)

    int型のショー(、int型B、int型のCをint型)

 

 

PS:間違って、私を修正互いに学び下さい場所があります。

おすすめ

転載: www.cnblogs.com/smallqizhang/p/12459186.html