Pertanyaan yang diberi tag pointers

89
Mentransmisikan penunjuk fungsi ke tipe lain

Katakanlah saya memiliki sebuah fungsi yang menerima sebuah void (*)(void*)function pointer untuk digunakan sebagai callback: void do_stuff(void (*callback_fp)(void*), void* callback_arg); Sekarang, jika saya memiliki fungsi seperti ini: void my_callback_function(struct my_struct*...

89
shared_ptr magic :)

Tuan Lidström dan saya bertengkar :) Klaim Tn. Lidström adalah bahwa sebuah konstruksi shared_ptr<Base> p(new Derived);tidak memerlukan Base untuk memiliki penghancur virtual: Armen Tsirunyan : "Benarkah? Akankah shared_ptr membersihkan dengan benar? Bisakah Anda dalam hal ini...

88
Bagaimana cara membandingkan pointer?

Misalkan saya punya 2 petunjuk: int *a = something; int *b = something; Jika saya ingin membandingkannya dan melihat apakah mereka menunjuk ke tempat yang sama apakah (a == b) berhasil?

59
Apa yang ((void (*) ()) buf) (); berarti?

Saya memecahkan tantangan eksploitasi biner di picoCTF dan menemukan potongan kode ini: ((void (*)())buf)(); dimana buf array karakter. Saya memecahkan tantangan tetapi tampaknya tidak mengerti apa yang sebenarnya ia lakukan. Saya melihat ini utas tetapi saya tidak bisa keluar. Apa ((void...

20
Bagaimana makro lambda membuat lambda?

Saya menemukan kode ini di GitHub tetapi tidak begitu memahaminya: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Kemudian: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 Apa yang garis bawah lakukan...