c++ - 初始化结构值

标签 c++ struct initialization

<分区>

Possible Duplicate:
Looking for an easy way to reinitialize a struct

我实际上并不知道我的问题叫什么,所以我在寻找解决方案时运气不佳。

我想将结构初始化为现有变量。

struct s { int i; };
s inst = { 7 }; // valid
inst = { 9 }; // invalid

我怎样才能实现这样的目标?

最佳答案

根据定义,您只能初始化一个实例一次。一旦一个对象被初始化,你所能做的就是改变它的状态。在您的示例中,假设您想要更改对象 inst 的状态,使其数据成员拥有值 9,您可以分配给的“i”数据成员s 对象:

inst.i = 9;

另一种选择是为您的实例分配一个临时的 s 实例。临时文件是用它的数据成员保存值 9 构造的:

inst = s{9};

关于c++ - 初始化结构值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881400/

相关文章:

c++ - : Bit, byte 和 int 哪个更有效?

java - Java 中由 new String() 和 new String (""进行的字符串初始化有什么区别?

c++ - 使用另一个 vector 按非递增顺序对一个 vector 进行排序

c++ - 遇到换行时 getline 崩溃

c++ - Hinnant 的 short_alloc 和对齐保证

C++ 将日期时间转换为时间戳

C编程: Reading a file and storing in array of struct

c - 填充链表的函数,但适用于 n 个列表类型

java - 初始化对象时,实例变量总是没有初始化?

C++:自动初始化