在C++中分配分配

  • 本文关键字:分配 C++ c++
  • 更新时间 :
  • 英文 :


我正在阅读一段执行此操作的代码

void *ptr_to_something = (void*)0x23; // I made this up, it's just a pointer to something
void *addr;
void *dst =  (void*)(addr = ptr_to_something); // This is the line that confuses me

它似乎将指向某物的指针分配给同一事物的另一个指针。没关系..但随后结果被括在括号中,投射到同一事物,并以某种方式重新分配给指向同一事物的第三个指针。

这是否有效C++?是否可以保证分配分配的结果会产生相同的分配对象?

它C++中有效:

int a, b, c;
a = b = c = 1;

因此,分配的结果就是该分配的值。

演员阵容的目的是什么,是个谜*。 您是否尝试过删除它,这会产生警告吗?

*不是谜,只是也许没有必要。

这是有效的C++。选择以这种方式格式化代码很奇怪,不建议这样做,但它是完全合法的。

这段代码等效于这个(我认为写得更好(的代码:

void *ptr_to_something = (void*)0x23;
void *addr = ptr_to_something;
void *dst =  addr;

最新更新