将指针赋值给引用
Assigning a pointer to a reference
我正在使用一个库,它有一个绘制函数,它需要一个圆的引用。我想调用这个函数,但是我有一个指向圆对象的指针。我可以把这个指向的对象传递给draw函数吗?如果不是,为什么不呢?
谢谢,巴里
可以。
你有这个函数
void DoSth(/*const*/Circle& c)
{
///
}
你有这个指针
/*const*/ Circle* p = /*...*/;
你这样称呼它
DoSth(*p);
我建议你读一本好的c++书。这是非常基本的东西
只要在引用还在使用的时候指针没有被销毁,就没有问题。
int *p = new int;
int &r = *p;
如果您提供一些问题的代码会更容易。但基本上它是这样工作的:
void func(Circle& circle) {
// do something
}
...
Circle *pCircle = new Circle();
func(*pCircle);
可以,只要取消对指针的引用,例如:
void functionToCall(Circle &circle);
//in your code:
Circle *circle = new Circle();
functionToCall(*circle);
相关文章:
- 标准库类型的赋值运算符的引用限定符
- 移动赋值运算符;尝试引用已删除的函数.我该如何解决这个问题?
- 为什么我需要三个嵌套的大括号来调用赋值运算符,将const引用到二维数组
- 复制引用结构上的赋值
- 作为赋值(增加引用变量)C++的左操作数所需的左值
- 如果类在 C++ 中具有常量或引用类型的非静态数据成员,为什么编译器不提供默认赋值运算符?
- 返回 T 引用的 Const 函子禁止赋值
- 为什么在C++中,内建赋值返回的是非常量引用而不是常量引用
- 使用变量参数列表为传递的引用赋值(VS2010中出错)
- 在 C++ 中通过引用返回 - 引用赋值与值赋值
- 为什么不能为非常量引用赋值
- c++ 取消引用赋值是按位赋值还是按位赋值或"smart"赋值?
- 类成员作为对另一个的引用:赋值运算符中的崩溃
- c++的引用赋值相当于PHP
- Std::swap只读引用赋值错误
- 通过引用赋值对象,而不复制
- 对引用赋值的后增量
- c++指针解引用赋值
- c++构造函数初始化引用赋值
- 将一个glm::vec3常量引用赋值给另一个glm::vec3时奇怪的崩溃