Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memulakan Tatasusunan `constexpr` C 11 daripada 0 kepada N?

Bagaimana untuk Memulakan Tatasusunan `constexpr` C 11 daripada 0 kepada N?

DDD
Lepaskan: 2024-12-11 05:19:10
asal
322 orang telah melayarinya

How to Initialize a C  11 `constexpr` Array from 0 to N?

Memulakan Tatasusunan Constexpr daripada 0 kepada N dalam C 11

Dalam C 11, mencipta tatasusunan constexpr yang menjangkau dari 0 hingga integer tertentu n memerlukan lebih sedikit usaha daripada dalam versi C kemudian. Begini caranya:

Menggunakan Constexpr Constructor dan Gelung:

#include <iostream>

template<int N>
struct Array {
    constexpr Array() : arr() {
        for (auto i = 0; i != N; ++i)
            arr[i] = i;
    }
    int arr[N];
};

int main() {
    constexpr auto a = Array<5>();
    for (auto x : a.arr)
        std::cout << x << '\n';
}
Salin selepas log masuk

Dalam kod ini:

  • The Templat struktur tatasusunan mewakili tatasusunan constexpr.
  • Pembina constexpr memulakan elemen tatasusunan daripada 0 kepada N-1, menggunakan gelung.
  • Dalam main(), contoh Tatasusunan<5> dicipta, dan elemennya dicetak ke konsol. Ini sepatutnya mengeluarkan 0, 1, 2, 3, 4.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Tatasusunan `constexpr` C 11 daripada 0 kepada N?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan