Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengoptimumkan Permulaan std::vektor 2D dalam C ?
Permulaan Optimum std::vektor Dua Dimensi
Memulakan std::vektor berbilang dimensi memberikan cabaran tertentu, terutamanya apabila menyasarkan untuk cekap kod. Pertimbangkan contoh yang diberikan:
std::vector<:vector>> fog; for (int i = 0; i fogRow; for (int j = 0; j <p>Pendekatan ini memerlukan berbilang gelung bersarang dan kelihatan agak membosankan. Penyelesaian yang lebih optimum wujud menggunakan std::vector::vector(count, value) constructor:</p> <pre class="brush:php;toolbar:false">std::vector<:vector>> fog( ROW_COUNT, std::vector<int>(COLUMN_COUNT)); // Defaults to zero initial value</int></:vector>
Dalam kes ini, pembina mengambil saiz awal dan nilai lalai. Jika nilai lalai yang berbeza dikehendaki, ia boleh ditentukan seperti berikut:
std::vector<:vector>> fog( ROW_COUNT, std::vector<int>(COLUMN_COUNT, 4));</int></:vector>
Selain itu, menggunakan pemulaan seragam yang diperkenalkan dalam C 11 menyediakan kaedah ringkas dan boleh dibaca untuk pemulaan vektor:
std::vector<:vector>> fog { { 1, 1, 1 }, { 2, 2, 2 } };</:vector>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Permulaan std::vektor 2D dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!