帮我用C++写一个指针结构体判空
时间: 2024-09-14 18:04:10 浏览: 43
基于C#调用c++Dll结构体数组指针的问题详解
在C++中,为了检查一个指向结构体的指针是否为空,你可以创建一个默认构造函数,并使用该结构体的一个成员变量来辅助判断。例如,假设我们有一个名为`Person`的简单结构体,它有一个`name`成员:
```cpp
struct Person {
std::string name;
// 默认构造函数
Person() : name("") {}
};
bool isPersonNull(const Person* ptr) {
// 如果ptr为nullptr,说明指针为空
if (ptr == nullptr) {
return true;
}
// 如果ptr不为空,检查其name成员,通常名字不会是空字符串
else if (ptr->name.empty()) {
return true; // 如果name为空串,也可以认为person是无效的
} else {
return false; // 指针有效
}
}
```
这个`isPersonNull`函数会返回`true`如果传入的`Person`指针是`nullptr`,或者是其`name`成员为空。
阅读全文