小编Ron*_*per的帖子

UB在操作nullptr时

这是围绕由UB递增NULL指针引起的错误示例的讨论的相关问题

假设我定义了这个数据结构:

union UPtrMem
{
    void* p;
    char ach[sizeof(void*)];
}

UPtrMem u;
u.p = nullptr;
u.p++;      // UB according to standards
u.ach[0]++; // why is this OK then??
Run Code Online (Sandbox Code Playgroud)

p并且ach共享相同的内存,所以仅仅是修改内存位置(恰好包含指针)UB的行为?一旦你试图取消引用指针,我认为它只会被取消定义.

c++ pointers

-3
推荐指数
1
解决办法
147
查看次数

标签 统计

c++ ×1

pointers ×1