✨博客主页 | ||
---|---|---|
何曾参静谧的博客(✅关注、👍点赞、⭐收藏、🎠转发) | ||
📚全部专栏(专栏会有变化,以最新发布为准) | ||
「Win」Windows程序设计 | 「IDE」集成开发环境 | 「定制」定制开发集合 |
「C/C++」C/C++程序设计 | 「DSA」数据结构与算法 | 「UG/NX」NX二次开发 |
「QT」QT5程序设计 | 「File」数据文件格式 | 「UG/NX」BlockUI集合 |
「Py」Python程序设计 | 「Math」探秘数学世界 | 「PK」Parasolid函数说明 |
「Web」前后端全栈开发 | 「En」英语从零到一 | 👍占位符 |
「AI」人工智能大模型 | 「书」书籍阅读笔记 |
在 C++ 中,判断一个结构体(struct
)是否被赋值过,通常需要根据成员变量的类型采取不同的方法。以下是几种常见情况的处理方式:
方法 1:使用默认值 + 手动标记
如果结构体的成员变量有合理的默认值(如 int
默认为 0
,string
默认为空 ""
),可以初始化时设置这些默认值,并额外增加一个 bool
标记是否被赋值:
#include <string>
struct MyStruct {
int num = 0; // 默认 0
std::string str = ""; // 默认空字符串
bool is_assigned = false; // 标记是否被赋值过
};
int main() {
MyStruct data;
if</