Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory management 什么是临时拨款? 在C++中,什么是临时分配,什么时候使用? 这样的事情真的存在吗? 助教的课程笔记中提到了它,但我找不到任何关于它的信息…_Memory Management - Fatal编程技术网

Memory management 什么是临时拨款? 在C++中,什么是临时分配,什么时候使用? 这样的事情真的存在吗? 助教的课程笔记中提到了它,但我找不到任何关于它的信息…

Memory management 什么是临时拨款? 在C++中,什么是临时分配,什么时候使用? 这样的事情真的存在吗? 助教的课程笔记中提到了它,但我找不到任何关于它的信息…,memory-management,Memory Management,当人们说“临时”时,他们通常指的是右值。这是创建的对象,并且没有绑定到变量名,因此不存在于当前语句之外。即: int foo() { Do( Object() ); } created Object()是一个右值,您可能会听到它被称为临时值。我怀疑您的TA引用的对象可能没有在表达式求值期间创建的名称 SomeClass x(1), y(2), z(3); SomeClass t = x + y + z; 表达式x+y+z调用操作符+()两次;第一个结果是一个临时分配(第二个初始化的

当人们说“临时”时,他们通常指的是右值。这是创建的对象,并且没有绑定到变量名,因此不存在于当前语句之外。即:

int foo()
{
     Do( Object() );
}

created Object()是一个右值,您可能会听到它被称为临时值。

我怀疑您的TA引用的对象可能没有在表达式求值期间创建的名称

SomeClass x(1), y(2), z(3);
SomeClass t = x + y + z;

表达式
x+y+z
调用
操作符+()
两次;第一个结果是一个临时分配(第二个初始化的结果是<代码> t>代码>)。

从:我认为这不值得C++标签,因为它可以应用于几乎任何编译器或语言。