指针引用类赋值
Pointer-reference-class assignment
以下场景的语法是否有问题:
如果我有类Foo和类Foo1,并且我的类Foo有一个类型为Foo1:的私有成员
.h文件:
class Foo{
Foo1 *oFoo;
public:
Foo(Foo1 &Fooy);
}
.cc文件:
Foo::Foo(Foo1 &Fooy){
oFoo = &Fooy;
}
上述构造函数中的赋值合法吗?我是C++新手。
它应该是oFoo
而不是Foo
,并且成员应该在初始化器列表中初始化:
Foo::Foo(Foo1 &Fooy): oFoo(&Fooy) {
}
否则没关系。考虑将构造函数设为explicit
,以防止不需要的隐式强制转换。
相关文章:
- 标准库类型的赋值运算符的引用限定符
- 移动赋值运算符;尝试引用已删除的函数.我该如何解决这个问题?
- 为什么我需要三个嵌套的大括号来调用赋值运算符,将const引用到二维数组
- 复制引用结构上的赋值
- 作为赋值(增加引用变量)C++的左操作数所需的左值
- 如果类在 C++ 中具有常量或引用类型的非静态数据成员,为什么编译器不提供默认赋值运算符?
- 返回 T 引用的 Const 函子禁止赋值
- 为什么在C++中,内建赋值返回的是非常量引用而不是常量引用
- 输入迭代器是否可以仅在赋值的右侧符号上取消引用?
- 为什么类的赋值运算符的返回类型通常是非常量(而不是常量)引用?
- 引用模板类型的赋值运算符需要非常量重载
- 为什么在取消引用的指向接口的指针上使用赋值运算符不是编译器错误
- 为什么 GCC 拒绝复制赋值操作中的常量引用
- 赋值不起作用,但带有取消引用运算符的地址起作用?
- 为引用元组赋值
- 如何为具有自引用指针的类实现复制构造函数/赋值运算符
- 为什么 Visual C++ 编译器允许临时赋值到左值引用
- 常量引用向量向量<向量<long>>赋值不编译
- 通过解引用NULL指针来赋值引用
- Shared_ptr赋值:引用计数顺序