Verständnis implizite lebenslange Schöpfung und Aliasing in C ++C++

Programme in C++. Entwicklerforum
Anonymous
 Verständnis implizite lebenslange Schöpfung und Aliasing in C ++

Post by Anonymous »

Ich versuche meinen Kopf um die implizite Lebensdauer- und Aliasing -Regeln in C ++ zu wickeln. Einige Operationen werden als implizit erstellen Objekte in einem bestimmten Speicherbereich. Für jede Operation, die als implizites Erstellen von Objekten angegeben ist, wird diese Operation implizit die Lebensdauer von Null- oder mehr Objekten impliziten Lifetime in seinem angegebenen Speicherbereich erstellt und startet, wenn das Programm das Verhalten definiert hat.
< /blockquote>
und: < /p>

Eine Operation, die die Lebensdauer eines Arrays unsigned char oder std beginnt :: byte erstellt implizit Objekte im Bereich des Speichers, der vom Array besetzt ist. />

Code: Select all

// The call to std::malloc implicitly creates an object of type X


Bedeutet das, dass das Folgende legal und korrekt ist?
constexpr size_t N = 10;
constexpr size_t S = sizeof(uint32_t);
std::vector buffer;
buffer.resize(N * S);

for (size_t i = 0; i < N * S; i += S)
*reinterpret_cast(&buffer.data()[i + 2 * S]) = 42;

uint32_t x;
for (size_t i = 0; i < S; ++i)
*(reinterpret_cast(&x) + i) = buffer;
assert(x == 42);
< /code>
Wenn nicht, was fehlt mir? Und gibt es eine Möglichkeit, es unter Verwendung der C ++ 23 -Untergruppe legal zu machen, die LLVM 17 (Clang und Libc ++) unterstützt? Ich selbst bin nicht eins, also würde ich eine Erklärung als "einfache" Begriffe wie möglich sehr schätzen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Python: Für Schleifen und Power Point -Schöpfung
    by Anonymous » » in Python
    0 Replies
    17 Views
    Last post by Anonymous
  • Python: Für Schleifen und Power Point -Schöpfung
    by Anonymous » » in Python
    0 Replies
    18 Views
    Last post by Anonymous
  • Ausgabe der Wissensbasis -Schöpfung [geschlossen]
    by Anonymous » » in Python
    0 Replies
    5 Views
    Last post by Anonymous
  • Verhindern Sie implizite Umwandlungen
    by Guest » » in Python
    0 Replies
    12 Views
    Last post by Guest
  • Unerwünschte implizite Objekterstellung durch std::byte VS char
    by Guest » » in C++
    0 Replies
    13 Views
    Last post by Guest