C++ Logo


Advanced search

Re: [std-proposals] Only reason I don't use std::array

From: Jonathan Wakely <cxx_at_[hidden]>
Date: Thu, 17 Aug 2023 20:54:38 +0100
On Thu, 17 Aug 2023 at 20:38, Frederick Virchanza Gotham via Std-Proposals <
std-proposals_at_[hidden]> wrote:

> On Thu, Aug 17, 2023 at 7:39 PM Tom Honermann <tom_at_[hidden]> wrote:
> >
> > I agree. Optimizers are not written to take advantage of UB. They are
> > written in accordance with what the standard specifies as defined
> > behavior. When code fails to adhere to what the standard specifies, then
> > optimizers might behave in unexpected ways because a property they rely
> > on (such as the existence of an object of a certain type) has been
> violated.
> There is no invalid bit pattern for an array of int's. Maybe an array
> of float's could have an invalid bit pattern.
> I mean the 'existence of an object' will come down to 0's and 1's at
> the end of it all.

No it won't, because the C++ language is defined by the rules of the
abstract machine, not your CPU. If you want to write assembly code and deal
only with 0s and 1s, do that, stop wasting our time with ideas for C++.

Received on 2023-08-17 19:54:53