Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Newsgroups | comp.lang.c, comp.lang.c++ |
| Subject | Re: datatype for bit flags |
| Date | 2011-09-17 14:42 -0700 |
| Organization | None to speak of |
| Message-ID | <lnlitm7snj.fsf@nuthaus.mib.org> (permalink) |
| References | (2 earlier) <930e767b-26f0-4123-836d-64dac1f47cfb@d2g2000vbk.googlegroups.com> <EtPcq.16451$9w.7154@newsfe18.iad> <4E73CF44.619F@mindspring.com> <lny5xo6pes.fsf@nuthaus.mib.org> <4E743FAD.3203@mindspring.com> |
Cross-posted to 2 groups.
pete <pfiland@mindspring.com> writes:
> Keith Thompson wrote:
>> pete <pfiland@mindspring.com> writes:
>> > Tony wrote:
>> >>
>> >> Malcolm McLean wrote:
>> >>
>> >> > You should use int for an
>> >> > integer unless there is a
>> >> > clear reason for using another type. Though
>> >> > each instance will only save a few cycles,
>> >> > if you systematically use
>> >> > int the speed increment may be worth having.
>> >>
>> >> Did you mean that just in the context of the OP/this thread, or in
>> >> general?
>> >
>> > I only use data types which are smaller than int,
>> > when there is a special reason.
>> >
>> > It's possible that small types may be aligned on int boundaries,
>> > meaning that there may be unusable bytes in between them.
>>
>> No, it's not. In an array of char, or an array of short, the elements
>> must be contiguous; unlike structs arrays have no padding.
>> This is necessary
>> to make array indexing and pointer arithmetic work.
>
> It's possible that small types may exist outside of an array.
Of course.
In a struct, there can be arbitrary padding between any two members, or
after the last member. But in practice, I'd be very surprised to see
any padding between c0 and c1 in
struct {
char c0;
char c1;
};
As for individually declared objects, you're not likely to have
very many of them, so any padding between them should have only
minimal effect (and if it's there, it probably saves you more in code
space than it costs in data space).
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
datatype for bit flags Gr <g@g.com> - 2011-09-15 12:37 +0530
Re: datatype for bit flags jacob navia <jacob@spamsink.net> - 2011-09-15 09:26 +0200
Re: datatype for bit flags Gr <g@g.com> - 2011-09-15 13:33 +0530
Re: datatype for bit flags jacob navia <jacob@spamsink.net> - 2011-09-15 10:12 +0200
Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-15 01:06 -0700
Re: datatype for bit flags "BartC" <bc@freeuk.com> - 2011-09-15 10:56 +0100
Re: datatype for bit flags Gr <g@g.com> - 2011-09-15 17:24 +0530
Re: datatype for bit flags Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-09-16 01:16 +0300
Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-16 04:59 -0700
Re: datatype for bit flags Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-16 20:46 +0000
Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-16 18:00 -0400
Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-18 05:00 -0700
Re: datatype for bit flags Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-18 13:36 +0000
Re: datatype for bit flags "Tony" <nospamme@ever.net> - 2011-09-16 16:47 -0500
Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-16 18:35 -0400
Re: datatype for bit flags Keith Thompson <kst-u@mib.org> - 2011-09-16 16:25 -0700
Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-17 02:35 -0400
Re: datatype for bit flags Keith Thompson <kst-u@mib.org> - 2011-09-17 14:42 -0700
Re: datatype for bit flags "Tony" <nospamme@ever.net> - 2011-09-16 19:27 -0500
Re: datatype for bit flags hanukas <jukka@liimatta.org> - 2011-09-23 03:56 -0700
csiph-web