Rumah > pembangunan bahagian belakang > C++ > Apakah yang Menentukan Susunan Permulaan Ahli Data Bukan Statik dalam C ?

Apakah yang Menentukan Susunan Permulaan Ahli Data Bukan Statik dalam C ?

Patricia Arquette
Lepaskan: 2024-12-15 01:41:10
asal
969 orang telah melayarinya

What Determines the Initialization Order of Non-Static Data Members in C  ?

Tertib Pemmulaan Ahli Data Bukan Statik

Dalam C , susunan pemulaan ahli data bukan statik dalam kelas ditentukan mengikut susunan di mana ia diisytiharkan dalam definisi kelas. Ini dinyatakan dalam bahagian 12.6.2 Piawaian C.

Piawaian menyatakan bahawa "ahli data tidak statik hendaklah dimulakan mengikut susunan yang diisytiharkan dalam takrifan kelas." Perintah ini digunakan tanpa mengira susunan mana-mana pemula ahli yang mungkin terdapat dalam definisi kelas.

Pertimbangkan definisi kelas berikut:

class A {};
class B {};
class X
{
    A a;
    B b;
};
Salin selepas log masuk

Apabila pembina untuk kelas X dipanggil, ahli data a dan b akan dimulakan mengikut susunan ia muncul dalam definisi kelas. Ini bermakna bahawa pembina untuk kelas A akan dipanggil sebelum pembina untuk kelas B.

Standard menentukan tertib ini untuk memastikan bahawa asas dan subobjek ahli dimusnahkan dalam susunan terbalik permulaan. Ini penting untuk mengelakkan penunjuk berjuntai dan isu pengurusan ingatan yang lain.

Atas ialah kandungan terperinci Apakah yang Menentukan Susunan Permulaan Ahli Data Bukan Statik 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