Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #85796

Re: Differences between C and C++

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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