簡體   English   中英

C++ 向量初始化列表與賦值

[英]C++ Vector Initialization List vs. Assignment

在 C++ 中,以下兩種初始化向量的方法有什么技術區別?


    vector<int> v_1 {0, 1, 2};

    vector<int> v_2 = {3, 4, 5};

第一個是初始化列表 第二個是什么?

我很欣賞有關正確術語的提示,並參考文檔和不同的標准版本(C++98 與 C++11)。

    vector<int> v_1 {0, 1, 2};

這是直接列表初始化直接初始化的一種形式。

使用提供的值構造 object v_1

    vector<int> v_2 = {3, 4, 5};

這是復制列表初始化 在這種情況下,與直接列表初始化沒有區別。

但是,仍然存在細微的語義差異,因為復制初始化不包括顯式構造函數。

C++11 中引入了列表初始化語法(版本 1 和 2)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM