Permulaan Elegan std::vector dengan Elemen Kod Keras
Walaupun mudah untuk memulakan tatasusunan dalam C , mis., int a[] = {10, 20, 30}, memulakan std::vector dalam a fesyen yang serupa mungkin kelihatan menyusahkan. Berikut ialah dua cara yang elegan untuk mencapai hasil yang sama:
Senarai Pemula C 11
Dalam C 11 dan kemudian, anda boleh menggunakan senarai pemula untuk memulakan std:: vektor secara langsung:
std::vector<int> v = {1, 2, 3, 4};
Sintaks ini disokong oleh GCC daripada versi 4.4. Walau bagaimanapun, VC 2010 belum lagi menyokong ciri ini.
Boost.Assign Library
Sebagai alternatif, perpustakaan Boost.Assign menyediakan cara yang mudah untuk memulakan std::vector:
#include <boost/assign/list_of.hpp> ... std::vector<int> v = boost::assign::list_of(1)(2)(3)(4);
Atau:
#include <boost/assign/std/vector.hpp> using namespace boost::assign; ... std::vector<int> v; v += 1, 2, 3, 4;
Perhatikan bahawa sintaks yang terakhir melibatkan sedikit overhed disebabkan penggunaan dalaman std::deque. Oleh itu, untuk kod kritikal prestasi, pertimbangkan untuk menggunakan senarai pemula vektor std::vector terus, seperti yang dicadangkan oleh Yacoby dalam soalan asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan std::vektor dengan Elegan dengan Elemen Kod Keras dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!