C++包含有数组成员变量的类对象可以直接赋值么?该怎么解决
C++包含有数组成员变量的类对象可以直接赋值么?
本人是C出身刚转到C++,所以....
为了处理网络数据定义了一个结构体
struct NetBuf
{
unsigned char data[256];
int len;
};
在网上看了类可以直接赋值的,struct 相当于 class public 所以
NetBuf recvframe;
NetBuf sendframe;
可不可以 sendframe = recvframe;?(看程序运行这样的确没有问题。)
但是两个数组是不可以直接赋值的,那么C++是如何实现的?亦或者,这样做事有问题的?
------解决方案--------------------
可以直接赋值的
新版本的 C 语言也是可以的
------解决方案--------------------
这样不可以,a,b代表指向首元素的常指针类型.
把数组放在结构体内就不一样了,当拷贝时C++执行所谓的bitwise copy semantic
------解决方案--------------------
按位拷贝是可以的,如果你使用了指针了?按位拷贝会带来什么后果?
本人是C出身刚转到C++,所以....
为了处理网络数据定义了一个结构体
struct NetBuf
{
unsigned char data[256];
int len;
};
在网上看了类可以直接赋值的,struct 相当于 class public 所以
NetBuf recvframe;
NetBuf sendframe;
可不可以 sendframe = recvframe;?(看程序运行这样的确没有问题。)
但是两个数组是不可以直接赋值的,那么C++是如何实现的?亦或者,这样做事有问题的?
------解决方案--------------------
可以直接赋值的
新版本的 C 语言也是可以的
------解决方案--------------------
这样不可以,a,b代表指向首元素的常指针类型.
把数组放在结构体内就不一样了,当拷贝时C++执行所谓的bitwise copy semantic
------解决方案--------------------
按位拷贝是可以的,如果你使用了指针了?按位拷贝会带来什么后果?