Rumah > pembangunan bahagian belakang > C++ > Apakah Cara Paling Cekap untuk Memulakan 2D std::vector dalam C ?

Apakah Cara Paling Cekap untuk Memulakan 2D std::vector dalam C ?

Mary-Kate Olsen
Lepaskan: 2024-12-04 04:36:12
asal
927 orang telah melayarinya

What's the Most Efficient Way to Initialize a 2D std::vector in C  ?

Memulakan std::vektor Dua Dimensi Dengan Cekap

Pertimbangkan coretan kod berikut:

1

2

3

4

5

6

7

8

9

10

std::vector< std::vector<int> > fog;

for(int i=0; i<A_NUMBER; i++)

{

    std::vector <int> fogRow;

    for(int j=0; j<OTHER_NUMBER; j++)

    {

         fogRow.push_back(0);

    }

    fog.push_back(fogRow);

}

Salin selepas log masuk

Kaedah ini memulakan std::vektor dua dimensi kelihatan tidak cekap. Pendekatan alternatif yang memanfaatkan pembina std::vector::vector(count, value) tersedia:

1

2

3

std::vector<std::vector<int>> fog(

    ROW_COUNT,

    std::vector<int>(COLUMN_COUNT)); // Defaults to zero initial value

Salin selepas log masuk

Jika nilai lalai selain sifar dikehendaki, nyatakan ia seperti yang ditunjukkan di bawah:

1

2

3

std::vector<std::vector<int>> fog(

    ROW_COUNT,

    std::vector<int>(COLUMN_COUNT, 4));

Salin selepas log masuk

Selain itu, pemulaan seragam yang diperkenalkan dalam C 11 membolehkan pemulaan ringkas menggunakan {}:

1

2

std::vector<std::vector<int>> fog { { 1, 1, 1 },

                                    { 2, 2, 2 } };

Salin selepas log masuk

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Memulakan 2D std::vector dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan