有人能解释一下这个C++引用的用法吗
Can anyone explain this C++ reference usage
可能重复:
全局常量字符串&闻起来很难闻,真的安全吗?
我偶然发现了以下代码,并想知道它的优点
std::string const & thestring( "XYZ" );
事实上,它正在构建对象,并通过引用来引用它。我看惯了
std::string const theString( "XYZ" );
想知道有什么不同。我很高兴该对象不会被提前销毁,因为该对象与引用一起存在于堆栈中。
完全取决于函数所在的字符串发生了什么。它需要保存才能被引用。
如果你在函数中有一个变量,比如说函数所属的对象。
class yourClass {
string a;
string const & yourFunction(string b) {
a = b;
return a;
}
}
此外,不太确定如果直接返回"somestring"会发生什么,但当你用inparameters做类似的事情时,它的工作原理是这样的:
void test(const string& value);
如果您随后传递"someString",它将不会作为引用处理,而只是一个值。如果删除"const",则会遇到问题,并且无法将"someString"作为值传递。
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- c++r值引用应用于函数指针
- 理解c++中的引用
- C++取消引用指针.为什么会发生变化
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 强制转换为引用类型
- 引用一个已擦除类型(void*)的指针
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 具有默认值的引用获取函数
- 如何使用基类指针引用派生类成员
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 如何引用基类的派生类?