请输入您要查询的百科知识:

 

词条 union
释义

union:C/C++语言关键字。

1. 共用体声明和共用体变量定义

共用体(参考“共用体”百科词条)是一种特殊形式的变量,使用关键字union来定义

共用体(有些人也叫"联合")声明和共用体变量定义与结构体十分相似。其形式为:

union 共用体名{

数据类型 成员名;

数据类型 成员名;

...

} 变量名;

共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。

下例表示声明一个共用体foo:

union foo{

int i;

char c;

double k;

};

再用已声明的共用体可定义共用体变量。

例如用上面说明的共用体定义一个名为bar的共用体变量, 可写成:

union foo bar;

在共用体变量bar中, 整型变量i和字符变量c共用同一内存位置。

当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度的整数倍。以上例而言,最大长度是double数据类型,所以foo的内存空间就是double型的长度。

union foo

{

char s[10];

int i;

};

在这个union中,foo的内存空间的长度为12,是int型的3倍,而并不是数组的长度10。若把int改为double,则foo的内存空间为16,是double型的两倍。

它的内存大小与struct的类似,可以参考一下。

由于union的数据成员共用一个内存空间,所以必须存取正确的成员才能正确的读取变量值,可以使用一个额外的变数或列举型态来记录最后一次使用空间的是哪个成员,例如:

#include <iostream>

using namespace std;

union StateMachine {

public:

char character;

int number;

char *str;

StateMachine(char c) {

character = c;

}

StateMachine(int n) {

number = n;

}

StateMachine(char* s) {

str = s;

}

};

enum State {character, number, str};

int main() {

State state = character;

StateMachine machine('J');

...

if(state == character)

cout << machine.character << endl;

...

return 0;

}

另外要注意的是,union的成员不可以为静态、引用,如果是自订型态的话,该自订型态成员不可以有建构函式、解构函式或是复制指定运算子。

2. 共用体和结构体的区别

共用体和结构体有下列区别:

1. 共用体和结构体都是由多个不同的数据类型成员组成, 但在任何同一时刻, 共用体只存放了一个被选中的成员, 而结构体的所有成员都存在。

2. 对于共用体的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构体的不同成员赋值是互不影响的。

UNION:SQL运算符

数据库 Translate-SQL 中 的运算符,将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。使用 UNION 组合两个查询的结果集的两个基本规则是:

1 、 所有查询中的列数和列的顺序必须相同。

2 、 数据类型必须兼容。

例句:

select top 100 aa.keyno,aa.commtype from comminfo aa

union all

select bb.userno,bb.corpname from userinfo bb

将comminfo表和userinfo表中的字段合成一个结果集(可能有重复数据,不过效率较高)

select top 100 aa.keyno,aa.commtype from comminfo aa

union

select bb.userno,bb.corpname from userinfo bb

将comminfo表和userinfo表中的字段合成一个结果集(没有有重复数据,效率较union all 低点)

UNION:autocad命令

功能:组合面域或实体。 组合面域是两个或多个现有面域的全部区域合并起来形成的。组合实体是两个或多个现有实体的全部体积合并起来形成的。可合并无共同面积或体积的面域或实体。

UNION:山地车/公路车 码表

UNION”於1899年创立於德国的Frondenberg,德国产品向来以精准设计与严谨制程深受世人喜爱,少了绚丽浮夸的外型,简洁的线条呈现的是水准之上的高品质,历经了两次世界大战的“UNION”,百年的时间更加淬砺出它恒久的工艺价值。为满足国内车友的热烈企盼,馆主特别提供展现 “UNION”一系列的自行车旅程电脑,让车友能够亲身体验,德意志工艺为生活留下的永恒纪录。

UNION重要沿革:1899年 1月2日於德国Frondenberg设立1921年 生产车把手、刹车器、曲炳。1927年 发明脚踏车轴心冷锻制程。1936年 开发’’NOVA’’链条,受力比传统链条提升1/4.可达1000Kg。1937年 收购德国知名灯具公司”MELAS”。1955年 配合德国工业发展生产摩托车用链条、脚踏及灯具。1964年 买下德国柏林”BERKO”工厂,生产磨电机及灯具。1979年 伊利诺州Olney设立UNION美国厂。1990年 捷克设立新工厂。

两大跨国品牌结合典范

1995年UNION与Marwi Group结合,Marwi Group是目前全球最主要的踏板制造商,也是欧洲最大的自行车配件供应商之ㄧ,并且在五个国家和地区同时拥有生产、销售与技术服务据点(德国、荷兰、捷克、中国台湾、印尼),生产高品质自行车零配件,如:踏板、花鼓、链条、工具、煞车胶、煞车线、变速线、码表、磨电灯等,旗下的自有品牌UNION、XERAMA均闻名於欧洲、美国与亚洲、南美洲。Marwi Group的商品均提供多国语文说明书,以满足全球客户的需求,「把客户的需要放在最优先!」这就是Marwi Group的极致精神所在!

德国知名百年品牌◆无线感应器◆绝佳的防水功能◆双层大液晶显示,轻松阅读不费力◆单一大型操作按键◆自动节能设计

产品特色:●独到的防水功能,洗车、下雨天都不必担心。●双层液晶显示,可同时显示现在车速与其它功能。●大屏幕设计,轻松阅读不费力。●单一大型操作按键,符合人性化的简易操作方式。●适合大多数车型与前叉。●可拆式屏幕,停车时不怕被偷走。●自动节能,为节省电力,若无动作,10分钟即会自动关闭,只要按功能键就会启动或骑车就会开始自动纪录。●11国语言说明书

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/27 1:21:30