Sca*_*ark 11 c++ constructor reference
我偶然发现了以下代码,并想知道它的优点
std::string const & thestring( "XYZ" );
Run Code Online (Sandbox Code Playgroud)
事实上,它正在构建对象并通过引用引用它.我以前常常看到
std::string const theString( "XYZ" );
Run Code Online (Sandbox Code Playgroud)
并且想知道差异是什么.我很高兴对象不会被早期破坏,因为对象与引用一起存在于堆栈中.
完全取决于函数所在字符串发生的情况。需要保存起来才能参考。
如果函数中有一个变量,可以说是该函数所属的对象。
class yourClass {
string a;
string const & yourFunction(string b) {
a = b;
return a;
}
}
Run Code Online (Sandbox Code Playgroud)
另外,不太确定如果您直接返回“somestring”会发生什么,但是当您对 inparameters 执行类似的操作时,它的工作原理如下:
void test(const string& value);
Run Code Online (Sandbox Code Playgroud)
如果您随后传递“someString”,它将不会被处理为引用,而只是一个值。如果删除“const”,则会遇到麻烦,并且无法将“someString”作为值传递。
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |