C++中结构体如何快速的进行赋值????有
如有:typedefstructtagAAA{inta;floatb;structtagBBB{doublec;}}AAA;现在有很多这样的类似的结构体,现在是这样子,我...
如有:
typedef struct tagAAA
{
int a;
float b;
struct tagBBB
{
double c;
}
}AAA;
现在有很多这样的类似的结构体,现在是这样子,我要将其赋值给另外一些类似的结构体,如:
typedef struct tagCCC
{
static int XXX;
.... //一些数据
int a;
float b;
struct tagBBB
{
double c;
}
}CCC;
大家看到了吗,就是说一部分数据的定义是相同的,现在就是要把CCC.a = AAA.a;
中相同的进行一次赋值,请问应该怎么快速的解决这个问题,不想一行一行赋值,因为有很多这样的。
为什么会有这样的需求是这样子的,当初由于一些接口文件没有设计好的缘故,现在就是只能这样子了。请大家帮忙吧。。
如果你准备说要把不同的放在最后,然后再把相同的整在前面拷贝的话,这个方案不好,因为我上面那个例子只是举了个简单的例子,不能简单的把不同的数据分开的。也无法把相同的数据放一起。 展开
typedef struct tagAAA
{
int a;
float b;
struct tagBBB
{
double c;
}
}AAA;
现在有很多这样的类似的结构体,现在是这样子,我要将其赋值给另外一些类似的结构体,如:
typedef struct tagCCC
{
static int XXX;
.... //一些数据
int a;
float b;
struct tagBBB
{
double c;
}
}CCC;
大家看到了吗,就是说一部分数据的定义是相同的,现在就是要把CCC.a = AAA.a;
中相同的进行一次赋值,请问应该怎么快速的解决这个问题,不想一行一行赋值,因为有很多这样的。
为什么会有这样的需求是这样子的,当初由于一些接口文件没有设计好的缘故,现在就是只能这样子了。请大家帮忙吧。。
如果你准备说要把不同的放在最后,然后再把相同的整在前面拷贝的话,这个方案不好,因为我上面那个例子只是举了个简单的例子,不能简单的把不同的数据分开的。也无法把相同的数据放一起。 展开
6个回答
展开全部
你既然都用了C++了,为什么还要用结构体而不用类定义?结构体就是这点很麻烦,一直都没有过解决方案,所以才诞生了面向对象编程思想。使用类定义就可以把数据和方法写到一个类型里去,也就是OOP。都写到类里的话,你可以定义一个互相赋值的函数,然后把你的对象用VECTOR或者数组进行管理和访问,然后循环遍历就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用类定义,然后用继承。
父类有个赋值函数,只Copy父类里的变量。(相同的变量)
开始用C++吧。
父类有个赋值函数,只Copy父类里的变量。(相同的变量)
开始用C++吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个直接用指针啊,用char*指针指向目标结构体起始位置,然后将目标移位到相同部分的起始位置。然后用内存拷贝,或者强转。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++ 嘛, 写个构造函数或者其他的函数来赋值就是了
本来就是和类没多大区别
本来就是和类没多大区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以写个copy函数,或者重载一个=。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询