gpt4 book ai didi

C++ POD初始化

转载 作者:行者123 更新时间:2023-11-30 00:59:56 27 4
gpt4 key购买 nike

我读过 C++ 中的 POD 对象。我想将 POD 结构写入文件。所以它应该只有公共(public)数据,没有 ctors/dtors 等。但据我所知,它可以有静态功能。那么我可以在这里使用“命名构造函数惯用语”吗?我需要动态初始化,但我不想在每个结构初始化时重复检查参数这是一个简单的例子(它只是简单的例子,不是工作代码):

struct A
{
int day;
int mouth;
int year;

static A MakeA(const int day, const int month, const int year)
{
// some simple arguments chech
if ( !(day >= 1 && day <= 31) || !(month >=1 && month <=12) || !(year <= 2010) )
throw std::exception();

A result;
result.day = day;
result.month = month;
result.year = year;
return result;
}
};

所以我有某种构造函数和 POD 结构,我可以简单地将其写入文件?它正确吗?

最佳答案

那应该没问题。

你甚至可以有一个非静态成员函数(只要它们不是虚拟的)

你不能拥有自动调用的东西(比如ctor/dtor)。您明确调用的东西没问题。

关于C++ POD初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3603224/

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