簡單地初始化std::vector:一種快速方法
在程式設計領域,通常需要使用特定的資料結構來初始化價值觀。 std::vector 是 C 中普遍存在的容器,為此類場景提供了一種優雅的解決方案。
傳統方法
如查詢中所提到的,一種傳統方法初始化std::vector 是透過附加和分配方法:
std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30);
雖然有效,但此過程涉及多個步驟,對於大型集合可能會變得乏味。
使用 C 11 進行 Swift 初始化
C 11 引入了一項重大增強功能,透過支撐初始化簡化了向量初始化:
std::vector<int> v = {1, 2, 3, 4};
此語法提供了一種直觀且直接的方法來使用硬編碼元素初始化向量,從而無需顯式元素
Boost 的替代選項
如果您的編譯器不支援C 11,Boost.Assign 函式庫提供了替代方法:
列表建構子:
#include <boost/assign/list_of.hpp> ... std::vector<int> v = boost::assign::list_of(1)(2)(3)(4);
std 命名空間擴充:
#include <boost/assign/std/vector.hpp> using namespace boost::assign; ... std::vector<int> v; v += 1, 2, 3, 4;
值得注意的是,這些Boost 選項可能會因底層雙端佇列構造而產生效能開銷。對於效能敏感的程式碼,建議使用傳統的push_back方法。
以上是如何在 C 中有效地初始化 std::vectors ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!