Penunjuk tersuai dalam C++ ialah cara untuk meningkatkan kefungsian penunjuk standard. Mencipta penuding tersuai termasuk: 1. Mencipta jenis penuding yang diwarisi daripada std::unique_ptr 2. Melaksanakan fungsi yang diperlukan dalam penuding tersuai. Contohnya, tingkatkan keteguhan kod dengan mencipta penunjuk tersuai untuk mengesahkan bahawa penunjuk adalah batal.
Dalam C++, penunjuk ialah pembolehubah yang boleh menyimpan alamat pembolehubah lain. Walau bagaimanapun, kadangkala kami ingin menggunakan penunjuk dengan cara yang lebih fleksibel dan mantap, dan ini adalah apabila penunjuk tersuai berguna.
Mencipta penuding tersuai melibatkan langkah-langkah berikut:
std::unique_ptr
: template<typename T> class MyPtr: public std::unique_ptr<T> { // 添加自定义功能 };
Contoh berikut mencipta penuding tersuai yang mengesahkan sama ada penuding itu batal dan membuang pengecualian untuk meningkatkan keteguhan kod:
// 创建一个检查非空的自定义指针 template<typename T> class NonNullPtr: public std::unique_ptr<T> { public: NonNullPtr(T* ptr) : std::unique_ptr<T>(ptr) { if (ptr == nullptr) { throw std::invalid_argument("NonNullPtr: Pointer cannot be null"); } } // 其他方法和函数... }; // 使用: int main() { // 创建一个非空的指针 NonNullPtr<int> ptr(new int(5)); // 访问指针指向的值 int value = *ptr; // 尝试创建空指针会导致异常 try { NonNullPtr<int> null_ptr(nullptr); } catch (std::invalid_argument& e) { std::cout << "Caught invalid argument: " << e.what() << std::endl; } return 0; }
Atas ialah kandungan terperinci Bagaimana untuk membuat penunjuk tersuai dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!