c++中对象的类型
Type of object in C++
我得到了一个代码,简要如下首先在类中定义一个结构体:
Struct Energy{
double elas;
double slip;
double dash;
}
。..然后定义这个结构体的对象
Energy* Prop;
。..然后用它来写如下条件
if (!Prop){
Prop->elas = elas_;
Prop->slip = slip_;
Prop->dash = dash_;
}
让我困惑的是,我知道道具的类型是能量。那么他们如何在if条件下使用它。我是c++的新手,有很多东西我不懂。希望你们能帮我?
谢谢
注意变量声明中Energy后面的星号
Energy* Prop;
这意味着Prop的类型是Energy*,这意味着它是一个指向Energy类型的指针。指针可以指向一个实例(有效或无效,但不在本问题的范围内),也可以不指向任何对象,也称为null。
当在条件中使用时,指针的工作原理就像一个整数值,如果它是零(或null),它将为假,否则为真。
写if (!prop)
检查指针是否为空
if (!prop) {
// prop is null, handle error
}
else {
// prop points to something, you can use it
}
编辑:如果你正在使用c++ 11或更高版本,请查看nullptr
Prop是指向Energy结构体的指针,这意味着它可以为空(不指向任何东西)。指针不为空时为真。
if (!Prop)
表示if (Prop != 0)
或if (Prop != nullptr)
相关文章:
- std::unordered_map 类型对象声明期间出现"field has incomplete type"错误
- C++ 多态模板类,模板类型对象的实例化
- 如何分配适合容纳 T 类型对象的缓冲区(可能过度对齐、可能有运算符 new 等)
- 如何构造一个 std::variant 类型对象,其自身 Templated 和构造函数转发参数
- C++:初始化指向具有不同类型对象的指针数组
- 在类 C++ 中构造的模板类型对象
- 如何将颁发者名称设置为x509_req类型对象
- 将任何数据类型/对象作为参数传递以确定其大小
- 将引用类型对象的数组从C#封送到C++
- <T> 从类型对象创建类型<T1>对象的构造函数
- C++是否有现有的方法来检查对象是否是派生类型对象
- C 模板:创建与现有对象相同的类型对象
- 链接列表中的虚函数 - 多种返回类型(对象)
- 没有适当操作员()的类型对象的呼叫
- 制作垫子类型对象的数组.输出窗口显示同一帧
- 抽象类型对象的分配
- 在std::list中就地创建自定义类型对象
- 接受泛型列表类型对象的参数
- C++-将模板类型对象强制转换为特定的数据类型
- 试图在C++中打印存储在类型对象数组中的信息