如何初始化 类型是结构体的 vector?

superwavelet 2012-02-07 11:18:50
大家好, 我定义了一个结构体:
typedef struct iRandom
{
int iVal[4];
}
iRandom;


然后想这样: vector <iRandom> templateStipples(0);就是在申明这中vector的时候把vector里面的 每个结构体里面的 每个数据都初始化为零. 也就是把所有的 iVal[0], iVal[1], iVal[2], iVal[3] 都初始化为 0

这个如何做? 貌似我只写个 0 不对

谢谢大家
...全文
1158 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
superwavelet 2012-03-13
  • 打赏
  • 举报
回复
学到了很多, 非常感谢
Binzo 2012-02-09
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

typedef struct iRandom
{
int iVal[4];
}
iRandom;

int main(){
/*int a[4] = {0, 1, 2, 3};*/
struct iRandom r;
//for(int i = 0; i < 4; i++)
//r.iVal[i] = a[i];
memset(&r, 0, sizeof(iRandom));
for(int i = 0; i < 4; i++)
cout << r.iVal[i] << endl;

system("pause");
return 0;
}
Binzo 2012-02-09
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

typedef struct iRandom
{
int iVal[4];
}
iRandom;

int main(){
int a[4] = {0, 1, 2, 3};
struct iRandom r;
for(int i = 0; i < 4; i++)
r.iVal[i] = a[i];
for(int i = 0; i < 4; i++)
cout << r.iVal[i] << endl;

system("pause");
return 0;
}
程序员小迷 2012-02-09
  • 打赏
  • 举报
回复
初始化函数或构造函数里,自己赋值
ningxuan4321 2012-02-07
  • 打赏
  • 举报
回复
说错了,是用类,然后里面用vector
ningxuan4321 2012-02-07
  • 打赏
  • 举报
回复
在C++里面 结构体也可以用构造函数,然后memset就好了,不过最好不要再c++里面换用C的东西,你可以在结构体里面也用vector
IVERS0N 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gis_wudi 的回复:]

iRandom i;
memset(&i,0,sizeof(i));
[/Quote]

++ memset就行了
GIS_wudi 2012-02-07
  • 打赏
  • 举报
回复
iRandom i;
memset(&i,0,sizeof(i));
lee_鹿游原 2012-02-07
  • 打赏
  • 举报
回复

只有在结构体初始化,不是在vector初始

typedef struct iRandom
{
int iVal[4];
iRandom(){memset(iVal, 0, sizeof(int) * 4);}
}
Jim_King_2000 2012-02-07
  • 打赏
  • 举报
回复
在C++中,不流行结构体,一般都是用类,在构造函数中初始化成员。

class iRandom
{
public:
iRandom() { memset(iVal, 0, sizeof(int) * 4); }

private:
int iVal_[4];
}

把这样的类对象放在vector里面,成员就会被自动初始化。
lee_鹿游原 2012-02-07
  • 打赏
  • 举报
回复

话说vector里面都没元素 ,怎么初始..
redshiliu 2012-02-07
  • 打赏
  • 举报
回复
用类吧,搞个构造函数

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧