Dalam menyesuaikan kod warisan kepada mesin 64-bit, cabaran biasa ialah menukar argumen void* kepada jenis yang serasi dalam fungsi. Untuk menyelesaikan masalah ini, mari kita terokai penyelesaian yang bersih.
Satu pendekatan ialah memanfaatkan teknik C moden. Sebagai contoh, seseorang boleh menggunakan jenis uintptr_t atau intptr_t, yang direka bentuk untuk mewakili nilai integer yang boleh memegang nilai penunjuk. Untuk menukar daripada penuding kepada uintptr_t, reinterpret_cast ialah kaedah yang sesuai:
#include <cstdint> void *p; std::uintptr_t i = reinterpret_cast<std::uintptr_t>(p);
Pendekatan ini memastikan keserasian pada kedua-dua mesin 32 dan 64-bit, membolehkan anda mengakses dan memanipulasi nilai penuding dengan selamat sebagai integer dalam fungsi .
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Penunjuk kepada Integer untuk Keserasian 32/64-Bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!