我在wxWidgets和其他C ++代码风格中看到了这一点:
#include <iostream>
class Foo {
int _x;
int _y;
public:
Foo () : _x(0), _y(0) {}
Foo (int x, int y) : _x(x), _y(y) {}
int get () const { return _x+_y; }
};
int GetFoo (const Foo& f) {
return f.get ();
}
int main () {
Foo f1(2,3); // create object with values
std::cout << "Value1: " << f1.get () << '\n'; // access object method
std::cout << "Value2: " << GetFoo(Foo(3,7)) << '\n'; // How do you call this?
return 0;
}
当您使用带有某些值的直接类时。我将其命名为将直接类作为对象,但我想知道该用语。感谢。
答案 0 :(得分:5)
您可能正在寻找术语&#34;临时值&#34;或&#34;临时&#34;。
这通常描述了一个对象,该对象在执行单个表达式或其中一部分的过程中被实例化,之后对象立即被销毁。
这是在这里发生的事情。
答案 1 :(得分:1)
功能
int GetFoo (const Foo& f) {
return f.get ();
}
采用常量参考(const Foo& )
。术语引用是特定于c ++的。一般术语是别名;两个描述相同实例的名称。 const限定符还允许隐式转换生效。
GetFoo(Foo(3,7))
创建一个持续函数调用持续时间的临时对象。临时Foo(3, 7)
没有名称,但它在函数中被别名或引用。