更改常量指针的非常量数据时的UB

时间:2019-10-01 15:00:38

标签: c++ casting const undefined-behavior

我认为下面的例子是UB:

const int v = 0;
const int* const p = &v;
(*(int**)&p) = (int*)malloc(sizeof(int));

但是我想知道这是否是UB:

int v = 0;
int* const p = &v;
(*(int**)&p) = (int*)malloc(sizeof(int));

(int**)强制转换是否返回临时值?如果是的话,这个临时变量不是const,那么我相信分配不会有问题...

问题:这些示例是UB吗?

0 个答案:

没有答案