91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++的關鍵字有哪些呢

發布時間:2021-10-14 16:35:02 來源:億速云 閱讀:128 作者:柒染 欄目:編程語言

這篇文章給大家介紹C++的關鍵字有哪些呢,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

  關于C++中都有哪些關鍵字,它們都有什么用?

const與define

  define是預編譯器的編譯指令,它從C語言兼容下來,工作方式與文本編輯器中的全局搜索和替換相似。define定義的常量的意義在它開始的地方持續到文件結束,在預編譯階段,預編譯器已經將所有define刪除,并展開所有的宏定義。它單純只做文本替換,沒有類型安全檢查,define命令會很容易引入錯誤,并且這種錯誤很難發覺,因此C++中用const取代define預編譯指令。

  #defineSIGMOID(x)(1/(1+exp(-x)))

  result=SIGMOID(a+b);//沒有正確添加括號,會導致錯誤結果

  result=SIGMOID((a+b));//正確

頭文件里的const

  const默認是內部鏈接,如果它被放在頭文件中,目的是為了讓所有包含它的編譯單元能使用這個值,而且是僅讓包含頭文件的編譯單元可見。定義一個const時,必須初始化,除非用extern做出了外部引用。通常,C++編譯器不會為const變量分配空間,但extern關鍵字會強制編譯器為const變量分配存儲空間。因為extern為外部鏈接,為了其他的編譯單元都能引用到const變量。變量必須要有存儲空間。

  注:由于編譯器不能避免為const分配內存,所以const定義必須默認內部鏈接。在C++中,const常量是否被分配空間依賴于它如何被使用:對于基本數據類型的常量,編譯器會把它放到目標文件的符號表中而不分配存儲空間,而自定義的const對象則需要分配存儲空間(大對象)。還有一些情況下也需要分配存儲空間,例如強制聲明為extern或取一個const的地址等操作。

const關鍵字與多線程安全

  可重入是并發安全的保障,一個可重入的函數(函數沒有執行完成,由于外部因素或內部調用,又一次進入函數執行)在多線程的環境下可以放心使用。而為了保證一個函數是可重入的,它必須使用任何(局部)靜態或非const全局變量。同時,不能返回任何(局部)靜態或非const全局變量的指針。

類中的const

  在類中定義的非靜態const變量,這個類的不同的對象可以含有一個不同的值。const的初始化在類的構造函數的初始化列表中。

staticconst——編譯期間類里的專屬常量

  static意味著“不管類的對象被創建多少次,都只有一個實例”。必須在staticconst定義的地方對它初始化。C++用它來代替enum(枚舉型),來指示對象的共同屬性。它是為整個類服務,而不是某個對象,所以它不能使用this指針(this指針是對成員函數調用時用來指示調用對象的),也不能在復制構造函數中被復制。如果你取某個類的專屬常量的地址或編譯器堅持要看到一個定義式,則用域名解析符定義一下。

關于C++的關鍵字有哪些呢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

桂东县| 凤城市| 鄂伦春自治旗| 阿尔山市| 安溪县| 宝鸡市| 习水县| 阿坝| 民丰县| 迭部县| 天气| 眉山市| 玉环县| 崇文区| 广州市| 昌图县| 南木林县| 柘城县| 平安县| 菏泽市| 淮安市| 汉源县| 工布江达县| 清水河县| 闽清县| 册亨县| 白银市| 雷州市| 大悟县| 临沂市| 沙洋县| 大竹县| 郧西县| 阳新县| 芦溪县| 新巴尔虎左旗| 马龙县| 安顺市| 高青县| 清流县| 裕民县|