gpt4 book ai didi

c++ - 为什么在 ctor 工作中将临时变量传递给 const ref?

转载 作者:太空狗 更新时间:2023-10-29 19:40:17 24 4
gpt4 key购买 nike

// Example program
#include <iostream>
#include <string>

struct foo
{
int d_member;

foo(const int & in):
d_member(in){};
};

int main()
{
foo *p;

{
int temp = 5;
p = new foo(temp);
}

std::cout << p->d_member << std::endl;

return 0;
}

Foo 在它的构造函数中接受一个 const ref 到一个 int,我将一个临时 int 传递给它。temp 在 new 之后被销毁。为什么我仍然能够打印出 d_member?

最佳答案

您的构造函数初始化列表将整数参数复制到成员变量。成员变量的生命周期就是对象的生命周期。

关于c++ - 为什么在 ctor 工作中将临时变量传递给 const ref?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44377440/

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