Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #85796
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: Differences between C and C++ |
| Date | 2022-08-03 14:49 +0300 |
| Organization | A noiseless patient Spider |
| Message-ID | <tcdnd4$272cv$1@dont-email.me> (permalink) |
| References | (10 earlier) <8699b402-e8e2-4e85-8de6-d67249cbeca9n@googlegroups.com> <tccbff$aah$1@gioia.aioe.org> <tcd9te$19s4$1@gioia.aioe.org> <jkv1ucFqa8tU1@mid.individual.net> <tcdk2t$1dc1$2@gioia.aioe.org> |
03.08.2022 13:53 Juha Nieminen kirjutas: > Bo Persson <bo@bo-persson.se> wrote: >> On 2022-08-03 at 09:59, Juha Nieminen wrote: >>> Manfred <noname@add.invalid> wrote: >>>>> However in reality not all 64 bits of a pointer are wired to memory addresses. >>>>> It's likely that the most significant bit has to be clear in a valid address. >>>> >>>> On most modern architectures, it's even more likely that the /least/ >>>> significant bit is zero, which is in fact what your implementation does >>>> on a LE architecture. >>> >>> That would mean that a pointer can only point to even addresses. I don't >>> think that's the case. Rather obviously a pointer must be able to point >>> to any address (else you would be able to eg. traverse a string with >>> a pointer). >>> >> >> The observation is about *heap memory* used by the containers, where you >> are likley not allowed to alloocate a single byte, but will get a >> pointer properly aligned at 8 or 16 bytes. And therefore has some zeros >> at the lower end. > > The topic is short-string-optimization of a std::string-like class. > If the internal pointer used in that class is pointing to either allocated > memory or an internal buffer, you can't be sure that the internal buffer > will be aligned to a 16-byte, 8-byte or even a 2-byte boundary. That's > because the class instance itself may not be allocated on the heap. Even when allocated on stack, it will be aligned properly as needed for the pointer or size_t members, enforcing at least 8-byte alignment in 64-bit. That's not to say SSO ought to use such bit-fiddling, the current SSO implementations apparently do no such thing (presumably because it would cause overhead even for non-mutable access).
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-25 13:14 +0000
Re: Differences between C and C++ "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-07-25 16:18 +0200
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-25 18:47 +0300
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-25 19:49 +0300
Re: Differences between C and C++ Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-07-25 19:38 +0100
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-25 08:51 -0700
Re: Differences between C and C++ Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-07-25 17:14 +0100
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-25 16:19 +0000
Re: Differences between C and C++ Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-07-25 19:28 +0100
Re: Differences between C and C++ Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-07-25 12:21 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-26 07:54 +0000
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-26 08:00 +0000
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-26 08:09 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-26 02:42 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-26 15:29 +0000
Re: Differences between C and C++ scott@slp53.sl.home (Scott Lurndal) - 2022-07-26 16:30 +0000
Re: Differences between C and C++ Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-07-26 11:59 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-27 07:52 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-27 01:56 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-27 14:51 +0000
Re: Differences between C and C++ Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-07-27 11:11 -0700
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-26 06:09 +0000
Re: Differences between C and C++ Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-07-27 17:33 +0100
Re: Differences between C and C++ Chris Vine <chris@cvine--nospam--.freeserve.co.uk> - 2022-07-25 17:45 +0100
Re: Differences between C and C++ Paul N <gw7rib@aol.com> - 2022-07-27 10:09 -0700
Re: Differences between C and C++ Bo Persson <bo@bo-persson.se> - 2022-07-27 19:28 +0200
Re: Differences between C and C++ Paul N <gw7rib@aol.com> - 2022-07-27 11:43 -0700
Re: Differences between C and C++ David Brown <david.brown@hesbynett.no> - 2022-07-29 18:04 +0200
Re: Differences between C and C++ Richard Damon <Richard@Damon-Family.org> - 2022-07-29 18:47 -0400
Re: Differences between C and C++ David Brown <david.brown@hesbynett.no> - 2022-07-30 14:08 +0200
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-28 08:03 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-28 01:57 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-28 09:04 +0000
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-28 06:53 +0000
Re: Differences between C and C++ Richard Damon <Richard@Damon-Family.org> - 2022-07-28 07:33 -0400
Re: Differences between C and C++ Bo Persson <bo@bo-persson.se> - 2022-07-28 15:04 +0200
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-28 15:11 +0000
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-28 20:03 +0300
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-29 07:56 +0000
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-29 12:03 +0300
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-29 09:28 +0000
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-29 12:27 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-29 05:43 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-29 14:14 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-29 08:25 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-29 15:48 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-29 13:12 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-30 09:28 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-30 03:39 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-30 14:23 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-30 19:07 -0700
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-31 07:22 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-31 06:07 -0700
Re: Differences between C and C++ muttley@dastardlyhq.com - 2022-07-31 16:36 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-08-01 01:12 -0700
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-29 22:47 +0000
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-30 03:48 -0700
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-07-29 05:16 -0700
Re: Differences between C and C++ Manfred <noname@add.invalid> - 2022-07-30 02:14 +0200
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-07-31 14:39 +0000
Re: Differences between C and C++ "Fred. Zwarts" <F.Zwarts@KVI.nl> - 2022-07-31 18:49 +0200
Re: Differences between C and C++ Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-07-31 14:49 -0700
Re: Differences between C and C++ Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-07-31 17:03 -0700
Re: Differences between C and C++ Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-08-01 00:16 -0700
Re: Differences between C and C++ Ike Naar <ike@sdf.org> - 2022-08-01 07:27 +0000
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-08-01 10:47 +0300
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-08-01 10:34 +0300
Re: Differences between C and C++ Manfred <noname@add.invalid> - 2022-08-03 01:20 +0200
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-08-03 07:59 +0000
Re: Differences between C and C++ Bo Persson <bo@bo-persson.se> - 2022-08-03 12:45 +0200
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-08-03 10:53 +0000
Re: Differences between C and C++ Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-08-03 03:58 -0700
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-08-03 14:49 +0300
Re: Differences between C and C++ Öö Tiib <ootiib@hot.ee> - 2022-08-03 23:31 -0700
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-08-01 11:29 +0000
Re: Differences between C and C++ Bo Persson <bo@bo-persson.se> - 2022-08-01 14:39 +0200
Re: Differences between C and C++ Juha Nieminen <nospam@thanks.invalid> - 2022-08-02 05:43 +0000
Re: Differences between C and C++ Manfred <noname@add.invalid> - 2022-08-03 01:13 +0200
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-08-03 09:34 +0300
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-29 09:22 +0000
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-29 13:53 +0300
Re: Differences between C and C++ Paavo Helde <eesnimi@osa.pri.ee> - 2022-07-29 14:13 +0300
Re: Differences between C and C++ Muttley@dastardlyhq.com - 2022-07-29 14:11 +0000
Re: Differences between C and C++ Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-07-28 06:16 -0700
csiph-web