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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++11 笔记

發布時間:2024/1/17 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++11 笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

5.重載運算符

  本質上是一個函數。

  函數名為operator(+-*/……)

  如果一個運算符是成員函數,其左側運算對象就綁定到隱式的this參數上。

?

  a.拷貝賦值運算符

    例如:

1 class Foo { 2 public: 3 Foo& operator=( const Foo& ); 4 }

      注意,賦值運算符通常返回一個指向其左側運算對象的引用。(這樣就可以在一個表達式中連續使用=)

    若類內未定義,編譯器會合成一個拷貝賦值運算符。

      它會將右側運算對象的每個非static成員賦予左側運算對象的對應成員。

  

   b.……運算符

?

?

4.初始化

  

1 int i = 0; 2 int i = {0}; 3 int i{0}; 4 int i(0);

注意下面這種初始化寫法是錯誤的。

int i = (0);

  

  默認初始化:

    定義于任何函數體之外的內置類型變量會被初始化為0,函數體內不被初始化。

  

  直接初始化

    容器的emplace成員創建的元素都進行直接初始化

  拷貝初始化

    容器的insert或push成員創建元素進行拷貝初始化

?

3.關鍵字

? ? ?explicit: ? ? 抑制構造函數定義的隱式轉換。所以,explicit構造函數只能用于直接初始化。

1 explicit Sales_data(const std::string &s):bookNo(s) {} 2 3 Sales_data item1(null_book); //可以進行直接初始化 4 5 Sales_data item2 = null_book; // 不能用于拷貝形式的初始化,因為不允許string 到 Sales_data的隱式的轉換

?對了,這個關鍵字只能在類內聲明構造函數的時候使用。

?

2. ?默認構造函數:參數列表位空的構造函數

? ? ?拷貝構造函數:第一個參數是自身類類型的引用,且任何額外參數都有默認值的構造函數。

        所以這個參數還必須是引用類型,因為若是非引用類型就需要對參數進行拷貝初始化,然后調用自身導致無限循環

? ? ?移動構造函數:

?

1. 用auto作為函數的返回值?

不能直接使用auto的替換原來的返回類型。

但是可以在函數尾置返回類型中使用, 將auto放在函數名之前,與尾置返回類型配合指明函數的返回類型

1 auto fun() -> int{ 2 3 return 3; 4 }

?

轉載于:https://www.cnblogs.com/Agravity/p/6131033.html

總結

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

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