union的特殊用途

以下注释记录了近期的工作内容,其中主角是C/C++的关键字union的特殊用法

/*
项目1.版本1 struct A { int id; };
 |
 |
 |--------------<新项目组成立>--------------项目2(SVN建立分支,代码复制)
 |                                           |
 |                                           |
项目1.版本2                                 项目2.版本1
struct A { int id; int age; };              struct A { int id; DWORD dwAge; };
功能1                                      
void func(int age)                          void func(DWORD dwAge)
{                                           {
	A a;                                    	A a;
	a.age = age;                            	a.dwAge = dwAge;
	//<业务逻辑>                                //<从项目1.版本2中移植功能1,代码复制、粘贴!>
	if(a.age >= 34)                             if(a.age >= 34)
		printf("%d岁老码农!\n",a.age);         	printf("%d岁老码农!\n",a.age); 
}                                           }                                       

                                            //如何让复制粘贴更彻底,连变量名也不要改的?
                                            //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 
                                            //修改结构A的定义,让功能移植更简单!!     
                                            struct A {                                  
                                            	int id;                                 
                                            	union {                                 
                                            		DWORD dwAge; //项目2使用的变量名    
                                            		int   age;   //项目1使用的变量名
                                            	};
                                            };
*/






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值