Технически ли это UB к static_cast (memmove (dst, (void*) src, sizeof (src))) с C ++ 20?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Технически ли это UB к static_cast (memmove (dst, (void*) src, sizeof (src))) с C ++ 20?

Сообщение Anonymous »

Рассмотрим следующий выдержка из wg21.link/p0593:>>
Вызов Memmove ведет себя так, как если бы он < /p>

копирует хранилище источника во временную область < /p>
< /li>
< /p>
< /li>
. хранение, а затем < /p>
< /li>
копирует временное хранилище в хранилище назначения. < /p>
< /li>
< /ul>
Это позволяет мемов сохранить типы видов объекта, которые могут быть представлены, которые используют другие объекты. Object. < /p>
< /blockquote>
struct A { int n; };
auto a = A{1};
void* p1 = &a;
alignas(A) char buf[8];

// p1 is of void*, so it shouldn't be assumed pointing to an object of A.
auto p2 = static_cast(memmove(buf, p1, sizeof(A)));
p2->n = 2; // Is this technically UB since C++20?

auto fn = [&] { return memmove(buf, p1, sizeof(A)); };
// Must it be `auto p3 = std::start_lifetime_as(fn());` here?
auto p3 = static_cast(fn()); // fn is not blessed by the standard as memmove.
p3->n = 3; // Is this technically UB since C++20?


Подробнее здесь: https://stackoverflow.com/questions/796 ... izeofsrc-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Технически ли это UB к static_cast (memmove (dst, (void*) src, sizeof (src))) с C ++ 20?
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Технически ли это UB к static_cast (memmove (dst, (void*) src, sizeof (src))) с C ++ 20?
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Технически ли это UB к static_cast (memmove (dst, (void*) src, sizeof (src))) с C ++ 20?
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как выбрать координаты DST для cv2.getperspectiveTransform (src, dst)
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как выбрать координаты DST для cv2.getperspectiveTransform (src, dst)
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»