gpt4 book ai didi

C++ 判断一个变量是否被设置

转载 作者:太空狗 更新时间:2023-10-29 23:37:34 28 4
gpt4 key购买 nike

我有一个定义的变量:

SYSTEMTIME m_TOTime;

然后我调用 GetSystemTime 函数来获取 UTC 时间:

GetSystemTime( &m_TOTime );

是否可以确定是否已调用 GetSystemTime 来设置 m_TOTime?我有另一个使用此变量的函数,但如果尚未调用 GetSystemTime(有时不必调用),它会返回一个空白对象。我希望像 m_TOTime == null 这样的东西能起作用。

最佳答案

使用初始化程序。

SYSTEMTIME m_TOTime = { 0 };  // Initialize structure to zero

...

if (m_TOTime.wYear != 0)
// structure has been initialized

一般来说,如果变量的所有可能值都是“合法的”,则无法执行此操作,但假设时间旅行是不可能的,调用 GetSystemTime() 后年份将永远不会为零。

如果所有可能的值都是合法的,您将需要使用辅助的“bool m_TOTime_initialized = false”变量或类似的变量。

关于C++ 判断一个变量是否被设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117423/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com