c++ - C++ 空值和 this 指针
问题描述
我是 C++ 的新手,正在努力学习 C++。我在Java中有一个这样的代码块:
public List<String> getDiagnosticTroubleCode() {
if (diagnosticTroubleCode == null) {
diagnosticTroubleCode = new ArrayList<String>();
}
return this.diagnosticTroubleCode;
}
如何比较disgnosticTroubleCode
与null
值?并将其设置为新的List
. 我已经覆盖了std::list
它以使其像List
在 Java 中一样使用。然后我想返回diagnosticTroubleCode
object 中的字段this
。我希望你们能帮助我解决这个问题。试图研究this
指针和null
.
这是我在 C++ 中的标题:
class RUNTIME_EXPORTS DiagnosticTroubleCode {
protected:
List diagnosticTroubleCode;
public:
List getDiagnosticTroubleCode();
};
解决方案
我记得在 Java 中一切都是指针。所以在JavadiagnosticTroubleCode == null
中本质上是diagnosticTroubleCode
与一个空指针进行比较。在 C++ 中,我们没有 null,我们有NULL
or nullptr
。在 C++ 中,对象不能真正为 null,因为它不是。对象在构造时会占用一块内存,因此它永远不能为空。因此,请尝试熟悉指针并将其用于您的优势。
关于this
. 如果要返回成员变量,其实不需要写return this.variable
,直接写返回变量即可return variable
。
推荐阅读
- node.js - 如果在进程启动后附加,Chrome 不会检测到调试器
- c# - 为什么属性的equals方法比较字段?
- android - 以编程方式转移布局 - android
- python - 是否可以在 python/flask 服务器存根中的 Swagger 验证之前运行自定义代码?
- for-loop - FOR循环内的Groovy嵌套IF条件不检查“else if”语句
- python - 将其与列表值进行比较后从数据框中保存值 - Python
- python - 熊猫创建一个与索引重复的列
- c - 链接逻辑运算符
- vue.js - GSAP 动画不适用于 Nuxt 中的 $ref
- android - 更新 PagedList v2