Pertanyaan yang ditandai 'alokasi-dinamis-memori'

Alokasi memori dinamis, biasanya dalam konteks bahasa tanpa pengumpulan sampah atau penghitungan referensi wajib atau otomatis, mengacu pada proses atau meminta sistem operasi untuk blok memori dengan ukuran variabel.
25
balasan

Apa dan di mana tumpukan dan tumpukan itu?

Buku-buku dalam bahasa pemrograman menjelaskan bahwa tipe nilai dibuat di stack, dan tipe referensi dibuat di heap, tanpa menjelaskan apa dua hal ini. Saya belum membaca penjelasan yang jelas untuk ini. Saya mengerti apa itu stack. Tapi, di mana dan apa mereka (secara fisik di ...
aktifkan 17 september. '08 pada jam 7:18
9
balasan

Perbedaan antara alokasi memori statis dan alokasi memori dinamis

Saya ingin tahu apa perbedaan antara alokasi memori statis dan alokasi memori dinamis? Bisakah Anda menjelaskan ini dengan contoh apa pun?
set 05 Des '11 jam 15:30
4
balasan

Apakah baru dan menghapus masih berguna di C ++ 14?

Mengingat keberadaan make_unique dan make_share, serta penghapusan otomatis unique_ptr dan shared_ptr oleh destructors, apa situasinya (selain mendukung kode yang ketinggalan zaman) untuk menggunakan yang baru dan menghapus di C ++ 14?
ditetapkan pada 10 Juni '15 pukul 20:12
11
balasan

Daftar tertaut efektif di C ++?

Dokumen ini mengatakan bahwa std :: list tidak efisien: std :: list adalah kelas yang sangat tidak efisien yang jarang berguna. Ia melakukan alokasi tumpukan untuk setiap elemen yang dimasukkan ke dalamnya, oleh karena itu ia memiliki koefisien ...
Set 16 Agustus '17 jam 18:44
5
balasan

Apakah destruktor dipanggil ketika suatu objek keluar dari ruang lingkup?

Sebagai contoh: int main () {Foo * leedle = new Foo (); return 0; } class Foo {private: somePointer * bar; publik: Foo (); ~ Foo (); }; Foo :: ~ Foo () {delete bar; } Apakah destruktor akan secara implisit dipanggil oleh kompiler atau akan ...
diatur pada 17 Juli '13 pukul 17:45
4
balasan

Mengapa program saya macet ketika saya menambah pointer dan menghapusnya?

Saya menyelesaikan beberapa latihan pemrograman ketika saya menyadari bahwa saya memiliki kesalahpahaman besar tentang pointer. Tolong, seseorang dapat menjelaskan alasan mengapa kode ini macet di C ++. #include <iostream> int main () {...
ditetapkan pada 16 Desember 16 pada 15:08
5
balasan

Kapan dan mengapa menggunakan malloc?

Yah, saya tidak tahu kapan dan mengapa harus mengalokasikan memori dengan malloc. Ini kode saya: #include <stdlib.h> int main (int argc, const char * argv []) {typedef struct {char * name; char * sex; usia int; } siswa; // Sekarang aku ...
diatur pada 10 Januari '12 jam 11:40
2
balasan

operator baru untuk mengalokasikan memori di heap

Saya menyaksikan tanda tangan operator baru. Yaitu: void * operator baru (std :: size_t size) throw (std :: bad_alloc); Tetapi ketika kita menggunakan pernyataan ini, kita tidak pernah menggunakan pemeran. yaitu, int * arr = new int; Jadi, bagaimana C ++ mengubah pointer ...
set 09 Feb '11 pada jam 9:02
6
balasan

Pimpl idiom tanpa menggunakan alokasi memori dinamis

kami ingin menggunakan idiom jerawat untuk beberapa bagian dari proyek kami. Bagian-bagian dari proyek ini juga bagian di mana alokasi memori dinamis dilarang dan solusi ini tidak berada di bawah kendali kami. Jadi saya bertanya apakah ada yang bersih dan ...
atur 07 Feb '11 pada 16:38
4
balasan

Mengapa lingkungan runtime tidak dapat menerapkan hapus atau hapus [] alih-alih programmer?

Saya membaca bahwa operator delete [] diperlukan, karena runtime tidak menyimpan informasi tentang apakah blok yang dipilih adalah array objek yang memerlukan panggilan destruktor atau tidak, tetapi sebenarnya menyimpan informasi tentang di mana di memori ...
set 06 Des '11 jam 21:46
3
balasan

Mengapa menggunakan _mm_malloc? (tidak seperti _aligned_malloc, alligned_alloc atau posix_memalign)

Ada beberapa opsi untuk mendapatkan blok memori built-in, tetapi mereka sangat mirip, dan masalah pada dasarnya datang ke bahasa apa standar dan platform yang Anda targetkan. C11 batal * aligned_alloc (perataan size_t, ukuran size_t) PO ...
mengatur 16 September 15 pada pukul 18:30
4
balasan

Cara mengalokasikan memori secara dinamis menggunakan build dan panggilan sistem di Linux

Saya mencari contoh kode yang baik untuk mengalokasikan memori dinamis menggunakan bahasa assembly di Linux dan menggunakan panggilan sistem daripada malloc dan teman-teman. Apa saja cara paling sederhana namun efektif untuk melakukan ini? Di komputer ...
ditetapkan pada 06 Mei 10 pukul 17:54
5
balasan

Mencampur operator baru [] dan menempatkan yang baru dengan penghapusan biasa []

Hanya karena penasaran, apakah ini legal? X * p = static_cast <X *> (operator baru [] (3 * sizeof (X))); baru (p + 0) X (); baru (p + 1) x (); baru (p + 2) x (); hapus [] p; // Apakah saya diizinkan menggunakan delete [] di sini? Atau apakah itu perilaku yang tidak terdefinisi? Demikian pula: ...
ditetapkan pada 27 Juni '11 pukul 19:02
4
balasan

Alokasi memori dinamis untuk array pointer

Saya mencoba untuk menulis sebuah program yang membaca dalam urutan baris dari file teks dan menyimpannya dalam array string, mengalokasikan memori secara dinamis untuk setiap item. Rencana saya adalah menyimpan setiap baris dalam array dengan bantuan dekrit ...
Setel 28 September '13 jam 18:40
3
balasan

Memahami perilaku penangan baru

Saya membaca "Efektif C ++ 55" karya Scott Meyers dan menanyakan pertanyaan dari klausa 49: Ketika seorang operator baru tidak dapat menyelesaikan permintaan memori, ia memanggil seorang penangan baru sampai menemukan cukup memori. Fungsi penangan baru yang dirancang dengan baik harus melakukan ...
atur 16 Feb '15 jam 15:33