Rumah >pembangunan bahagian belakang >C++ >Bagaimana dengan Pantas Memulakan std::vector daripada C-Style Array?
Menetapkan std::vector daripada C-Style Array
Dalam pelbagai senario, ia menjadi perlu untuk menetapkan std::vector menggunakan tatasusunan gaya C. Pertimbangkan kelas berikut dengan vektor yang perlu dimulakan menggunakan data yang diluluskan sebagai tatasusunan gaya-C:
class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } };
Daripada mengubah saiz vektor dan mengulangi elemen atau menggunakan std::copy(), pendekatan yang lebih cekap wujud. Dengan menggunakan fakta bahawa penunjuk boleh dianggap sebagai lelaran, vektor boleh ditetapkan dengan cepat menggunakan:
w_.assign(w, w + len);
Sintaks ini menetapkan julat dari penunjuk w hingga w len, dengan berkesan memulakan vektor dengan nilai dari Tatasusunan gaya C.
Atas ialah kandungan terperinci Bagaimana dengan Pantas Memulakan std::vector daripada C-Style Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!