如何选择指针中置空?NULL, nullptr, 0?
2018-01-12 13:18
232 查看
在使用指针的时候,为了防止野指针,我们要对指针初始置空。以前一直使用
所以,在支持C++11情况下我们使用nullptr,在不支持的情况下,我们使用0而不用NULL来提醒自己避免错误。
*ptr = NULL,其中NULL和0是完全等价的。这就造成了一个潜在的危险,当我们将void f(int*)这个函数重定义一个void f(int)函数。这个时候我们传入参数0, 就无法判断0是int类型还是int*类型。c++11使用nullptr代替了NULL,在上述情况下能避免歧义,不会出现错误。
所以,在支持C++11情况下我们使用nullptr,在不支持的情况下,我们使用0而不用NULL来提醒自己避免错误。
相关文章推荐
- NULL指针如何避开检测引起程序崩溃
- null与空串的区别,什么是空指针,如何解决空指针异常
- c++指针中0,NULL和nullptr
- 语法:c++对关于空指针0/NULL/nullptr三者的演变
- 优先选择nullptr而不是0和NULL
- Effective Modern C++ : Item 8 -> 优先选择nullptr而不是0和NULL
- C++的零指针(NULL,0,nullptr)
- 面对数据缺失,如何选择合适的机器学习模型?
- 企业如何选择CMS系统
- 如何选择sql server 2005的网络协议
- ubuntu14.04,如何使用鼠标右键菜单在shell中打开选择项目?
- 记忆减退之---如何选择合适的电容
- 应届毕业生如何通过学习Linux系统选择一份高薪职业
- 指针知识(七):空(void)指针_无效(Invalid)指针_空值(null)指针
- Update时如果值为NULL如何相加
- NULL指针、零指针、野指针
- IOS 如何选择delegate、notification、KVO
- 高质量C++编程之(7.4指针参数是如何传递内存的?)
- Win8系统下如何自定义鼠标指针让其更个性
- C++的NULL和nullptr