在堆上声明对象,然后通过引用传递它
Declare object on heap and then passing it by reference?
如果我像这样在堆上声明一个对象:
X* x = new X();
func(?);
void func(X& x);
如何将x
传递给func()
,以便func()
可以接收对x
的引用(而不是指针)?
你必须像这样取消引用它:func(*x)
取消引用指针并像这样传递它:
func(*x);
必须向函数传递 X 类型的东西。通过引用传递对象的事实不会改变您调用它的方式。由于 x 具有 X* 类型,因此您需要取消引用 x 才能获得 X 类型的东西。
为了说明这一点,假设你有
void func1(X& x);
void func2(const X& x);
void func3(X x);
void func4(const X x);
对于每种情况,您都将以相同的方式调用函数。
相关文章:
- C++当您取消引用指向类对象的指针,然后将其作为引用返回时,是否可以对此引用调用方法
- 如何返回引用,然后递增迭代器
- 如果结果存储在变量中forward_as_tuple然后在 std::apply 中使用之前丢失右值引用
- 如何引用无效的输入,然后重新输入和如果其他语句
- 检查指针是否为null,然后在同一if语句中取消引用它,这样安全吗
- 在函数内部创建一个局部向量,然后将其作为引用传递给其他函数,这些函数将其存储为引用
- 迭代器取消引用然后"."运算符对立。 "->"运算符
- C++类中设置引用变量,然后进行更改
- C++通过引用传递,然后设置指向该对象的指针
- 使用指针或引用访问向量,然后对其进行迭代缓存是不友好的
- 通过引用传递C++向量,然后执行 push_back()
- C++一个引用的多个转发:首先复制,然后移动
- 在堆上声明对象,然后通过引用传递它
- 如何在结构数据结构中使用 map stl 并初始化映射,然后引用它
- C++如何通过引用将对象的向量传递到一个函数中,然后再传递到下一个函数中
- 将短*/双*转换为整数*,然后返回并取消引用
- 当按引用传递参数存储在被调用方对象中,然后被调用方删除时会发生什么情况
- 如何在主函数中连接到数据库,然后从其他函数引用它
- 在函数外部声明对象,将其作为引用传递,然后在函数内部创建它
- 为什么一旦我将引用声明为 const 然后它可以采用不同类型的数据?