C++自學筆記 01

  1. C++是C的超集,支持面向過程編程、面向對象編程和泛型編程
  2. 面向對象三大特性:封裝、繼承、多態(tài)
  3. 雙冒號作用域,::var用于訪問全局變量的值
  4. 命名空間可以嵌套
namespace A
{
    int a = 10;
    namespace B
    {
        int a = 20;
    }
}

void test()
{
    cout << A::B::a;
    cout << A::a;
}
  1. 匿名命名空間:相當于寫了static內容,只能在當前文件內使用
  2. 命名空間可以取別名:namespace B = A;
  3. C++對C的增強
  • 全局變量檢測增強
int a;
int a = 1;
//在C中可以編譯,在C++中無法編譯
  • 函數(shù)檢測增強(參數(shù)類型、返回值、參數(shù)數(shù)量)
  • 類型轉換增強(C++必須強制轉換)
  • struct增強(可以包含函數(shù))
struct Person
{
    int age;
    int addAge()
    {
        age++;
    }
};

int main() {
    Person person;
    person.age = 10;
    person.addAge();
    cout << person.age;
    return EXIT_SUCCESS;
}
  • bool類型:true(非零的值都會轉成1)/false
  • 三元運算符增強:返回值是變量(C中返回的是數(shù)值)
int main() 
{
    int a = 10;
    int b = 20;
    cout << (a > b ? a : b )<< endl;
    a > b ? a : b = 100;
    cout << b << endl;//100

    return EXIT_SUCCESS;
}
  • const增強
void fun()
{
    const int m_A = 20;
    int *p = &m_A; 
    *p = 200;//C中*p和m_A都為200,C++中*p=200,m_A=20
    int a[m_A];//C中不合法,m_A為偽常量;C++中合法
}

函數(shù)內const修飾,C中是偽常量,C++為符號表


image.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,691評論 1 51
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,259評論 0 38
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,684評論 1 32
  • C++入門基礎 namespace專題講座 namespace概念 所謂namespace,是指標識符的各種可見范...
    蔡俊宇閱讀 880評論 0 2
  • 重新系統(tǒng)學習下C++;但是還是少了好多知識點;socket;unix;stl;boost等; C++ 教程 | 菜...
    kakukeme閱讀 20,467評論 0 50

友情鏈接更多精彩內容