Rumah > pembangunan bahagian belakang > C++ > Mengapa C 11 Pemula Dalam Kelas Tidak Membenarkan Tanda Kurung?

Mengapa C 11 Pemula Dalam Kelas Tidak Membenarkan Tanda Kurung?

Susan Sarandon
Lepaskan: 2024-12-20 05:55:09
asal
166 orang telah melayarinya

Why Don't C  11 In-Class Initializers Allow Parentheses?

Kekaburan dalam Pemula Kelas: Peranan Pendakap dan Setara

Dalam C 11, pemula ahli dalam kelas hanya boleh ditakrifkan menggunakan kerinting pendakap ({}) atau tanda sama dengan (=). Sekatan ini menimbulkan persoalan mengapa kurungan tidak dibenarkan untuk tujuan ini.

Satu sebab utama pengehadan ini terletak pada potensi kekaburan sintaks. Pertimbangkan kelas berikut:

class BadTimes {
public:
    struct Overloaded;
    int Overloaded;            // Data member

    int confusing(Overloaded); // Function declaration
};
Salin selepas log masuk

Jika kurungan dibenarkan untuk pemula, baris "int confusing(Overloaded);" boleh jadi samar-samar. Ia boleh ditafsirkan sama ada sebagai pengisytiharan fungsi (seperti yang ditunjukkan di atas) atau sebagai permulaan pembolehubah ahli jika kurungan digunakan untuk pemula:

int confusing{Overloaded};
Salin selepas log masuk

Untuk menghapuskan kekaburan ini, pendakap kerinting atau tanda sama diperlukan . Ini memastikan tiada kekeliruan antara pemula pembolehubah ahli dan pengisytiharan fungsi:

class BadTimes {
public:
    struct Overloaded;
    int Overloaded;

    int confusing{Overloaded}; // Member variable initialized with Overloaded
};
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa C 11 Pemula Dalam Kelas Tidak Membenarkan Tanda Kurung?. 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