Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #6182
| Path | csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | Ian Collins <ian-news@hotmail.com> |
| Newsgroups | comp.lang.c++ |
| Subject | Re: unions |
| Date | Sat, 04 Jun 2011 17:38:47 +1200 |
| Lines | 35 |
| Message-ID | <94tun8FivcU7@mid.individual.net> (permalink) |
| References | <iscfn1$keo$8@reader1.panix.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| X-Trace | individual.net Kzt5d+qdrTmnZcafRtHIzgRUJMD09E8uq7RdYlgxHrLJYs3sv2 |
| Cancel-Lock | sha1:eU+XrzSgfkQbtuHQTWF1NW4s1Vw= |
| User-Agent | Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.2.9) Gecko/20101021 Lightning/1.0b2 Thunderbird/3.1.4 |
| In-Reply-To | <iscfn1$keo$8@reader1.panix.com> |
| Xref | x330-a1.tempe.blueboxinc.net comp.lang.c++:6182 |
Show key headers only | View raw
On 06/ 4/11 05:26 PM, Ruben Safir wrote:
> There are some things, that as I learned to program, I learned them,
> decided they suck and would never use them, and then put them away.
> unions are one of these things (static was another and complex #define
> yet another).
>
> But I took this employment exam this week and 10% of the questions
> involved unions. As I understood unions, union sub-objects just step on
> each other in binary in the allocated space where they exist (talk about
> a snake pit for potential bugs). Am I missing something about them? I
> started to have deep doubts about what I thought I knew.
That's about right. You could view a union as a struct with all the
members having an offset of zero.
We don't use them in C++ as much as in C.
> union {
> double x;
> char a[10];
> } myunion;
>
> myunion.a[0] = 'A';
> myunion.a[1] = 'A';
> myunion.a[2] = 'A';
> myunion.a[3] = 'A';
>
> std::cout<< myunion.x<< std::end
> is going to spit out some binary translation of a double with 4 bytes of
> 65 dec, whatever that is.
Maybe, the result is undefined.
--
Ian Collins
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
unions Ruben Safir <ruben@mrbrklyn.com> - 2011-06-04 05:26 +0000
Re: unions Ian Collins <ian-news@hotmail.com> - 2011-06-04 17:38 +1200
Re: unions Ruben Safir <ruben@mrbrklyn.com> - 2011-06-04 05:45 +0000
Re: unions Ian Collins <ian-news@hotmail.com> - 2011-06-04 18:04 +1200
Re: unions Ruben Safir <ruben@mrbrklyn.com> - 2011-06-04 06:13 +0000
Re: unions Öö Tiib <ootiib@hot.ee> - 2011-06-04 04:54 -0700
Re: unions Edek <edek.pienkowski@gmail.com> - 2011-06-04 19:59 +0200
Re: unions Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-04 20:13 +0200
Re: unions Edek <edek.pienkowski@gmail.com> - 2011-06-04 22:34 +0200
Re: unions Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-05 07:29 +0200
Re: unions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-06-09 09:19 +0000
Re: unions Keith <kbelder@gmail.com> - 2011-06-09 11:17 -0700
Re: unions Victor Bazarov <v.bazarov@comcast.invalid> - 2011-06-09 14:29 -0400
Re: unions Edek <edek.pienkowski@gmail.com> - 2011-06-10 13:16 +0200
csiph-web