Unerwünschte implizite Objekterstellung durch std::byte VS charC++

Programme in C++. Entwicklerforum
Guest
 Unerwünschte implizite Objekterstellung durch std::byte VS char

Post by Guest »

Es scheint, dass std::byte im Allgemeinen dazu gedacht ist, die Verwendung von char in Puffern zum Zuweisen von Rohspeicherblöcken zu ersetzen.
Aber ich mache mir darüber Sorgen Tatsache ist, dass std::byte implizit Objekte erstellen kann, während char dies nicht kann. Wenn der Zweck darin besteht, Rohspeicher zuzuweisen, damit Sie darin Objekte erstellen können (z. B. durch die Verwendung von „placement new“), warum sollte dann std::byte den Puffer vorher mit einer Reihe implizit erstellter Objekte füllen?< /p>
Wäre es nicht besser, char zu verwenden, damit Sie potenzielles undefiniertes Verhalten im Zusammenhang mit der Lebensdauer dieser unerwünschten und implizit erstellten std::byte-Objekte (d. h. den Zugriff darauf von außen) vermeiden können? ihres Lebens aus Versehen)?
Und eine verwandte zweite Frage: Überlappen sich die Lebensdauern von std::byte-Objekten mit denen größerer Objekte, die auf demselben Speicher erstellt wurden? Müssen die std::byte-Objekte ihre Lebensdauer beenden, bevor ein anderes Objekt die Bytes verwenden kann, oder können sich mehrere Objektlebensdauern die Bytes teilen?
Danke.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post