临时对象在c++中有大量的运用,编译器可以通过临时对象进行代码的优化。譬如返回值优化和构造函数优化。
#include <iostream>
using namespace std;
int main(int argc, const char * argv[])
{
string * s1 = new string("堆对象");
string s2("栈对象");
string & s3 = s2;
string && s4 = string("右值对象");
const string & s5 = string("常引用");
cout << *s1 << "\n"
<< s2 << "\n"
<< s3 << "\n"
<< s4 << "\n"
<< s5 << "\n"
;
delete s1;
}