gpt4 book ai didi

c++ - 这第二个是什么新东西?

转载 作者:IT老高 更新时间:2023-10-28 22:35:10 26 4
gpt4 key购买 nike

第二行是什么? (在回答另一个问题时看到。)

int * x = new int [1] ;
int * y = new (x) int;

在第二行之后 x 和 y 具有相同的值(指向同一个地方)。 y = x 和第二行有什么区别?是像构造函数还是什么的?

最佳答案

它是 placement new .它在x指向的内存中构造一个新的int

如果你尝试:

int * x = new int [1];
*x = 5;
std::cout << *x << std::endl;
int * y = new (x) int;
*y = 7;
std::cout << *x << std::endl;

输出将是:

5
7

关于c++ - 这第二个是什么新东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com