typedef struct iRandom
{
int iVal[4];
}
iRandom;
然后想这样: vector <iRandom> templateStipples(0);就是在申明这中vector的时候把vector里面的 每个结构体里面的 每个数据都初始化为零. 也就是把所有的 iVal[0], iVal[1], iVal[2], iVal[3] 都初始化为 0
这个如何做? 貌似我只写个 0 不对
谢谢大家
12 个解决方案
#1
用类吧,搞个构造函数
#2
话说vector里面都没元素 ,怎么初始..
#3
在C++中,不流行结构体,一般都是用类,在构造函数中初始化成员。
class iRandom
{
public:
iRandom() { memset(iVal, 0, sizeof(int) * 4); }
private:
int iVal_[4];
}
把这样的类对象放在vector里面,成员就会被自动初始化。
class iRandom
{
public:
iRandom() { memset(iVal, 0, sizeof(int) * 4); }
private:
int iVal_[4];
}
把这样的类对象放在vector里面,成员就会被自动初始化。
#4
只有在结构体初始化,不是在vector初始
typedef struct iRandom
{
int iVal[4];
iRandom(){memset(iVal, 0, sizeof(int) * 4);}
}
#5
iRandom i;
memset(&i,0,sizeof(i));
memset(&i,0,sizeof(i));
#6
++ memset就行了
#7
在C++里面 结构体也可以用构造函数,然后memset就好了,不过最好不要再c++里面换用C的东西,你可以在结构体里面也用vector
#8
说错了,是用类,然后里面用vector
#9
初始化函数或构造函数里,自己赋值
#10
#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;
}
#11
#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;
}
#12
学到了很多, 非常感谢
#1
用类吧,搞个构造函数
#2
话说vector里面都没元素 ,怎么初始..
#3
在C++中,不流行结构体,一般都是用类,在构造函数中初始化成员。
class iRandom
{
public:
iRandom() { memset(iVal, 0, sizeof(int) * 4); }
private:
int iVal_[4];
}
把这样的类对象放在vector里面,成员就会被自动初始化。
class iRandom
{
public:
iRandom() { memset(iVal, 0, sizeof(int) * 4); }
private:
int iVal_[4];
}
把这样的类对象放在vector里面,成员就会被自动初始化。
#4
只有在结构体初始化,不是在vector初始
typedef struct iRandom
{
int iVal[4];
iRandom(){memset(iVal, 0, sizeof(int) * 4);}
}
#5
iRandom i;
memset(&i,0,sizeof(i));
memset(&i,0,sizeof(i));
#6
++ memset就行了
#7
在C++里面 结构体也可以用构造函数,然后memset就好了,不过最好不要再c++里面换用C的东西,你可以在结构体里面也用vector
#8
说错了,是用类,然后里面用vector
#9
初始化函数或构造函数里,自己赋值
#10
#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;
}
#11
#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;
}
#12
学到了很多, 非常感谢