struct test {
char a[100];
int b;
}
test t1;
直接对象赋值
strcpy( t1.a, "rwqrqwerewr" )
t1.b=1
指针赋值:
test *p = &t1
strcpy( t1->a, "rewrer3rewqr" );
p->b=10
成员是什么类型 就用什么类型的赋值方式,比如是内置类型int之类的 直接调用=即可,如果成员是class的对象,那么调用该class的赋值函数来赋值即可
结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:
1
2
3
4
5
6
struct aa{
int a;
int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值
结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:
struct aa{
int a;
int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值
struct aa{
int a;
int b;
}ax,*bx;
直接ax.a,bx->b访问就好了
如果是类的话,public的可以直接访问,其他的只能通过外部接口访问
arrMember的本质是一个指针,赋值语句只将指针的值直接赋给相应的对象,即“浅拷贝”。
当你在释放该指针对应的内存的时候便会出现错误。
可以通过operator= 的重载来实现深拷贝操作。