命名空間+缺省參數+const總結+引用總結+內聯函數+auto關鍵字 C++初階( 二 )


  • C++用到的是cout(控制臺)和cin(鍵盤)兩個函數進行操作 , 使用是必須包含iostream的頭文件及 std標準命名空間 。
  • C++頭文件不帶.h,將std標準命名空間進行展開 。
  • #include <iostream>using namespace std;// 將std標準命名空間進行展開int main(){ cout << "hello world" << endl; // std::cout << "hello world" << endl; 也可以這樣寫就不展開std標準命名空間 return 0;}使用C++輸入輸出更方便,不需增加數據格式控制,比如:整形–%d,字符–%c
    int main(){ int a = 0; double b = 0.0; cin >> a; cin >> b; cout << "a = " << a << " b = " << b << endl; system("pause"); return EXIT_SUCCESS;}運行結果如下:
    命名空間+缺省參數+const總結+引用總結+內聯函數+auto關鍵字 C++初階

    文章插圖
    缺省參數概念:
    缺省參數是聲明或定義函數時為函數的參數指定一個默認值 。在調用該函數時,如果沒有指定實參則采用該默認值,否則使用指定的實參 。
    void PrintNum(int n = 0){ cout << n << endl;}int main(){ PrintNum();// 無參數時 , 使用參數的默認值 PrintNum(10);// 有參數時,使用指定的實參 system("pause"); return EXIT_SUCCESS;}全缺省參數參數都要一個默認值,給定的實參依次從左向右給形參賦值
    注意:我們在調用函數時,只能缺省最右邊的若干個參數,形如:Fun(4, , 6);這種調用是錯誤的調用方法 。
    void Func(int a = 10, int b = 20, int c = 30){ cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl;}int main(){ // 實參從左向右一次給形參賦值 Func(); Func(1); Func(1, 2); Func(1, 2, 3); system("pause"); return EXIT_SUCCESS;}運行結果如下:
    命名空間+缺省參數+const總結+引用總結+內聯函數+auto關鍵字 C++初階

    文章插圖
    半缺省參數只有部分形參給定了默認值,半缺省參數必須從右往左依次來給出,不能間隔著給 。
    值得注意的是,缺省參數只能為最右邊的若干個 。
    形如:void Fun(int a=10, int b, int c = 30) { }這樣的語句是錯誤的用法 。
    形如:Fun(1, ,3)這種調用也是錯誤的 。
    void Func(int a, int b = 10, int c = 30){ cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl;}int main(){ Func(1); Func(1, 2); Func(1, 2, 3); system("pause"); return EXIT_SUCCESS;}運行結果如下:
    命名空間+缺省參數+const總結+引用總結+內聯函數+auto關鍵字 C++初階

    文章插圖
    注意:
    • 半缺省參數必須從右向左依次給出,不能間隔著給
    • 缺省參數不能在聲明中和定義中同時出現(推薦寫在聲明中)
    • 缺省參數必須是全局變量和常量
    • C語言中不支持缺省參數
    const限定符const修飾符的作用
    • const類型定義: 指明變量或對象的值是不能被更新,引入目的是為了取代預編譯指令
    • 可以保護被修飾的東西,防止意外的修改,增強程序的健壯性
    • 編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內存的操作,使得它的效率也很高
    • 【命名空間+缺省參數+const總結+引用總結+內聯函數+auto關鍵字 C++初階】可以節省空間,避免不必要的內存分配
    規則
    • const離誰近,誰就不能被修改
    • const修飾一個變量時 , 一定要給這個變量初始化 , 若不初始化,在后面也不能初始化
    分類
      常變量:  const 類型說明符 變量名  常引用:  const 類型說明符 &引用名  常對象:  類名 const 對象名  常成員函數:  類名::fun(形參) const  常數組:  類型說明符 const 數組名[大小]      常指針:  const 類型說明符* 指針名 ,類型說明符* const 指針名

    推薦閱讀