Apakah Anda perlu malloc di C++?
Apakah Anda perlu malloc di C++?

Video: Apakah Anda perlu malloc di C++?

Video: Apakah Anda perlu malloc di C++?
Video: Есть ли сборка мусора в C и C++? 2024, Mungkin
Anonim

Anda menggunakan malloc Kapan kamu butuh untuk mengalokasikan objek yang harus ada di luar masa eksekusi blok saat ini (di mana copy-on-return akan mahal juga), atau jika Anda perlu mengalokasikan memori lebih besar dari ukuran tumpukan itu (yaitu: array tumpukan lokal 3mb adalah ide yang buruk).

Juga, apakah Anda perlu malloc di C++?

Perbedaannya sederhana: malloc mengalokasikan memori, sementara yang baru mengalokasikan memori DAN memanggil konstruktor objek Anda sedang mengalokasikan memori untuk. Jadi, kecuali Anda 'dibatasi ke C, kamu harus tidak pernah menggunakan malloc , terutama ketika berhadapan dengan C++ objek.

Orang mungkin juga bertanya, apa gunanya malloc? Dalam C, fungsi perpustakaan malloc digunakan untuk mengalokasikan blok memori pada heap. Program mengakses blok memori ini melalui pointer yang malloc kembali. Ketika memori tidak lagi diperlukan, pointer dilewatkan ke free yang mendealokasi memori sehingga dapat digunakan untuk tujuan lain.

Dengan cara ini, apakah ada malloc di C++?

malloc () berfungsi dalam C++ mengalokasikan A blok memori yang tidak diinisialisasi dan kembali A penunjuk kosong ke NS byte pertama dari NS blok memori yang dialokasikan jika NS alokasi berhasil. Jika NS ukurannya nol, NS nilai yang dikembalikan tergantung pada NS implementasi dari NS Perpustakaan. Dia mungkin atau mungkin tidak A penunjuk nol.

Bagaimana Anda malloc struktur?

Untuk apa yang Anda inginkan, Anda membutuhkan dua malloc () S. struktur Vektor *y = malloc (ukuran *y); /* Perhatikan pointernya */ y->x = calloc(10, sizeof *y->x); Di baris pertama, Anda mengalokasikan memori untuk objek Vektor. malloc () mengembalikan pointer ke memori yang dialokasikan, jadi y harus berupa pointer Vektor.