gpt4 book ai didi

c++ - 本地对象的范围

转载 作者:行者123 更新时间:2023-11-30 02:04:10 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Can a local variable's memory be accessed outside its scope?
return reference to local variable

这是一个示例程序,用于检查函数内局部类对象的范围。在这里,我创建了一个 A 类对象并为其赋值,并在 Function() 中通过引用返回该对象。我想知道变量的范围什么时候结束?因为它是一个堆栈对象(不是指针),它会在函数()结束时被破坏吗?如果是这样,当它的引用值被分配给一个新对象时会发生什么?

  #include "stdafx.h"
#include <iostream>

class A
{
public:
int a, b;
A(int aa, int bb)
{
a = aa;
b = bb;
}
A(){}
};

A& Function()
{
A object;
object.a = 10;
object.b = 20;
return object;
}

int _tmain(int argc, _TCHAR* argv[])
{
A aaa = Function();
std::cout<<"\nValue : "<<aaa.a<<" "<<aaa.b;
getchar();
return 0;
}

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