参考成员函数调用
reference member functions calling
我已经写下了类点的以下成员函数
double &Function(){
double d=33.66;
double *p=new double;
p=&d;
return *p;
}
使用点对象" pt"为pt.function()在main()中被调用。这有效,尽管我不太明白为什么?可以改进吗?我知道这不是获得" D"值的最佳方法,但我使用它来学习如何使用参考来传递值。感谢您的帮助。
p=&d;
在这里,它只是创建内存泄漏。在程序的这种情况下,您将永远不会使用分配的内存。
您不需要返回pod(普通旧数据)本地变量的值,这在您的情况下是通过参考。您可以简单地按值返回。
可能需要通过参考返回某些内容的可能情况是该值是您的类的成员,并且您需要从其他地方进行修改。
示例:
// Declaration
class Point {
private:
double _d = 33.66;
public:
double& getD() { return _d; }
}
// Usage
Point p;
p.getD() = 66.33;
相关文章:
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 成员函数调用和C++对象模型
- 无法调用成员函数,尝试正确执行此操作仍然失败
- 模拟成员函数调用 lambda
- 在 transform() 中调用成员函数
- 使用成员初始值设定项列表时没有匹配的函数调用错误
- 如何从另一个嵌套类中调用某个封闭类的嵌套类的函数指针成员的值?
- 是否可以使用三元切换/控制/谓词成员函数调用?
- C++ 在析构函数调用之前删除的动态成员数组
- C++::在构造函数退出之前通过指针调用成员函数
- 使用线程从另一个成员函数调用一个Member函数
- 为什么我可以通过野生指针调用成员函数
- 从 Qt 中的信号调用成员函数的问题
- 调用C++成员函数指针,而不知道哪个类
- 调用非默认构造函数作为成员初始化
- 如何从嵌套在命名空间中的类调用成员函数?
- 无法在非成员函数中调用成员函数
- 使用成员函数调用可变参数模板函数
- C函数调用C 成员函数 - 其中C代码与C编译器编译
- 从默认构造函数调用成员的析构函数