Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencetak Elemen Vektor C dalam GDB?

Bagaimana untuk Mencetak Elemen Vektor C dalam GDB?

DDD
DDDasal
2024-10-27 19:53:30612semak imbas

How to Print Elements of a C   Vector in GDB?

Mencetak Elemen Vektor C dalam GDB

Apabila menyahpepijat kod C dalam GDB, anda mungkin perlu memeriksa kandungan vektor. Untuk berbuat demikian dengan vektor integer (std::vector), ikut langkah berikut:

Mencetak Keseluruhan Vektor:

print *(myVector._M_impl._M_start)@myVector.size()

Ungkapan ini mengakses penuding ke tatasusunan dalaman vektor (_M_impl._M_start) dan mencetak bilangan elemen yang ditentukan (myVector.size()).

Mencetak Hanya Elemen N Pertama:

print *(myVector._M_impl._M_start)@N

Ganti N dengan bilangan elemen yang anda mahu cetak.

Penjelasan:

  • Penunjuk kepada tatasusunan dalaman ialah disimpan dalam _M_impl._M_start.
  • Arahan GDB untuk mencetak N elemen tatasusunan bermula pada penunjuk P ialah: cetak P@N.
  • Jumlah saiz vektor boleh diperoleh menggunakan myVector .size().

Nota: Pendekatan ini mungkin berbeza bergantung pada versi pengkompil anda. Untuk GCC 4.1.2, kaedah ini telah diuji untuk berfungsi dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Elemen Vektor C dalam GDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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