首页  >  文章  >  后端开发  >  在 C 多线程应用程序中检查成员函数中的空指针是否必要且可靠?

在 C 多线程应用程序中检查成员函数中的空指针是否必要且可靠?

Linda Hamilton
Linda Hamilton原创
2024-11-02 15:24:02196浏览

Is Checking for Null Pointers in Member Functions Necessary and Reliable in C   Multithreaded Applications?

检查成员函数中的空指针

问题:

在多线程应用程序中,考虑一个具有成员函数的类。检查函数内的 this 指针是否为 nullptr 是否有效,如果是则返回错误代码?

答案:

在标准 C 中,访问 null指针是未定义的行为。因此,检查是否为 nullptr 并返回错误代码是不必要的,并且可能会导致非标准行为。

其他注意事项:

  • 一些实现,例如 VC 和 MFC,允许检查 nullptr。 Однако,这样的实现是非标准的,可能会导致不可靠的代码。
  • 插入这样的检查可能有助于调试目的,但断言语句是更合适的选择。
  • 检查 if this is nullptr 并不一定表明该对象已被删除。它可能只是意味着使用了空指针来调用该方法或获取 this 引用。

以上是在 C 多线程应用程序中检查成员函数中的空指针是否必要且可靠?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn