gpt4 book ai didi

c++11 - 是否可以使用大括号初始值设定项来删除结构数组?

转载 作者:行者123 更新时间:2023-12-01 09:58:05 25 4
gpt4 key购买 nike

我想知道:我有一个包含一些数据的结构数组。如果我想删除所有数据并将所有值保留为默认结构数组,是否可以使用 C++11 括号初始化程序?

#include <iostream>

using namespace std;

typedef struct{
int i;
char a;
}mystruct;

int main()
{
mystruct structure[2];
structure{};
structure[0].i = 69;
cout << structure[0].i << endl; // Should print 69
structure{};
cout << structure[0].i << endl; //Should print 0

return 0;
}

编辑:目前我的编译器说预期;在 { 之前,所以它似乎无法识别大括号初始值设定项。

最佳答案

原始数组在 C++ 中不可复制 - use std::array instead :

#include <array>
#include <iostream>

using namespace std;

struct mystruct {
int i;
char a;
};

int main()
{
std::array<mystruct, 2> structure = {};
structure[0].i = 69;
cout << structure[0].i << endl; // Should print 69
structure = {};
cout << structure[0].i << endl; //Should print 0
}

If your compiler whines about missing initializers , simply double them up to {{}} .

关于c++11 - 是否可以使用大括号初始值设定项来删除结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304371/

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