日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

从java到C++入门

發布時間:2023/12/10 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从java到C++入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++基礎知識

    • 前言
    • 基礎

前言

當初為了趕一波互聯網熱潮自學了java,如今因為需要就從java轉向C++開發,于是就有了java到C++入門,每次的學習我都會記錄一下C++的學習歷程。

基礎

  • C++對于內存的控制管理比java要有更多要求,因此C++對于變量的創建是需要思考的,變量存在的意義就是方便管理內存,而創建變量就是申請一塊合適的內存空間。
  • 如何給變量申請合適的內存空間,就需要定義需要的數據類型,C++數據類型所占的內存大小(字節)如下所示,而具體到用有符號數還是無符號數就看具體需求:
  • 數據類型占用內存空間(字節)
    整型
    short2
    int4
    long4
    long long8
    浮點型
    float4
    double8
    字符型
    char1
    布爾類型
    bool1
  • 常數,用于記錄程序中不可改變的數據,C++有兩種定義方法:
    1、#define 宏定義
    2、const 修飾詞

  • 數據輸入輸出:
    1、cin>>變量 獲取鍵盤輸入
    2、cout<<數據 輸出到控制臺

  • C++中的條件和循環語句就和java幾乎一樣

  • 指針見C++靈魂->指針

  • 結構體:屬于自定義數據類型,可以存儲不同的數據類型

  • 語法:struct 結構體名稱 {結構體成員列表};
  • 內存四區(代碼區、全局區、棧區、堆區):不同區域存放不同的數據,有不同的生命周期,便于靈活管理。
    程序運行前,編譯后:
    1、代碼區存放CPU執行的機器指令 ,有共享和只讀特性。
    2、全局區存放全局變量、靜態變量、字符串常量和const修飾的全局變量(全局常量)
    程序運行之后:
    1、棧區(編譯器自動分配釋放)存放局部變量和const修飾的局部變量(局部常量)
    (1)不要返回局部變量的地址
    (2)不要返回局部變量的引用
    2、堆區(程序員分配釋放,否則程序結束后由系統釋放)
    (1)由new關鍵字來將數據開辟到堆區新內存
    (2)由delete關鍵字將內存地址釋放(釋放數據時delete[ ])
  • 引用:給變量其別名
  • 例如:數據類型 &別名 = 原名;
  • 函數參數傳遞方法:
    1、值傳遞:每次傳遞都會復制數據,會耗用內存;形參不會改變實參。
    2、地址傳遞(指針),可以減少占用內存,但會可能會造成原數值的修改,可以在傳入時加上const防止修改數據的誤操作。
    3、引用傳遞,可以簡化指針,和地址傳遞效果一樣,同樣可以在傳入時加上const防止修改數據的誤操作。

  • 引用課程里的對于引用的本質講解
    引用的注意事項:1、引用必須初始化;2、引用不可更改

  • C++函數的形參可以默認值【注:當其中一個形參有默認值,則該形參的右側參數都得有默認值;函數聲明和實現中只能寫一個】。

  • C++函數的占位參數,就是形參中只有數據類型,也可以設置默認值。

  • C++中struct和class的唯一區別就是struct的訪問權限默認是公有的,class則為私有。

  • 對象的初始化及清理【即構造函數及構析函數】
    1、當類對象被創建時,程序至少會自動創建三個構造函數【無參構造、有參構造及拷貝構造】。
    2、類對象作為類成員被創建時,先調用對象成員的構造再調用類成員的構造,構析函數則相反。

  • this指針:this指針指向被調用的成員函數所屬的對象
    1、解決名稱沖突
    2、在類的非靜態成員函數中返回對象本身,即return *this;

  • 空指針可以訪問成員函數

  • 常對象【聲明對象前加const修飾符】只能調用常函數【成員函數后加const修飾符,常函數內不能修改成員屬性】

  • 友元,即使函數或者類能訪問另一個類的私有變量
    1、全局函數做友元:在該類中聲明全局函數,并且在前面加上friend
    2、類做友元:在該類中聲明要訪問的類,并且在前面加上friend
    3、成員函數做友元:在該類中聲明成員函數,并且在前面加上friend

  • 繼承:
    1、先調用父類構造函數再調用子類構造函數,構析函數則相反。
    2、子類調用父類中的同名成員(變量、函數),需要加作用域;調用子類本身中的時,正常調用。
    3、C++中允許多繼承

  • 字符數組可以初始化直接賦值,但是不能聲明后再直接賦值,但可以用strcpy()函數,如:

  • char str1[40] = "fjkahfhahkfhah"; //正確 / char str2[40]; str2[40] = "aihfihncsajkhjk"; //錯誤 / char str3[40]; strcpy(str3,"aihfihncsajkhjk"); //正確 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的从java到C++入门的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。