visual-c – 如何检查Managed C中的“NULL对象引用”?
发布时间:2020-12-16 03:14:44 所属栏目:百科 来源:网络整理
导读:我遇到了一些这样的MC代码: __gc class ClassA{Puclic: ClassB GetClassB();}__gc class ClassB{ Public: int Value;}int main(){ ClassA^ a = gcnew ClassA(); ClassB^ b = a-GetClassB(); int c = b-Value;} 在访问它的值之前,检查b是否为NULL是不重要的
我遇到了一些这样的MC代码:
__gc class ClassA { Puclic: ClassB GetClassB(); } __gc class ClassB { Public: int Value; } int main() { ClassA^ a = gcnew ClassA(); ClassB^ b = a->GetClassB(); int c = b->Value; } 在访问它的值之前,检查b是否为NULL是不重要的?我试过if(b == NULL),但它不工作. 还是没有必要做支票?但是我几乎不敢相信 PS:我只想知道这里的“引用”本身是否为NULL. B类的内容是否为null并不重要. 解决方法
这个程序在语法和语义上都是正确的,据我所知.
引用COULD在此处为null,具体取决于GetClassB()的实现.所以在技术上可能会有一个零参考等待在那里发生. 但是,如果GetClassB()的内容如下所示: return gcnew ClassB(); 您可以保证抛出异常或成功,这意味着引用永远不会意外为null. 所以,真正的答案是:这取决于,但你永远不需要检查null. 检查null使用: if (b == nullptr) { } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 使用LINQ to SQL访问系统数据库/表?
- 依赖注入和控制反转
- 在styles.xml中设置特定字体
- 详解Vue结合后台的列表增删改案例
- 解决“No 'Access-Control-Allow-Origin' header i
- React Native学习笔记-3: unable to find module in its mo
- ruby-on-rails – 如何在ActionMailer中捕获错误异常
- Vue之Vue.set动态新增对象属性方法
- STM32使用fsmc控制NOR flash 例程
- “正则表达式(/[^0-9]/g,'')中的"/g"是什