在C ++中,您可以让类成员成为传入的引用吗?

马克·A·多诺霍

我有一个“ StripManager”类,负责更新已经存在的“ Strip”类的数据。因此,管理者需要对试条的引用。现在,我知道可以将指向“ Strip”类的指针传递给“ StripManager”类的构造函数,但是我想知道是否有使用引用而不是指针的方法。我只是一直喜欢处理引用,因为您像实际的类实例一样使用它们,而不必处理指针符号等。

这样可以做到吗?

这是一些伪代码...

class StripManager
{
  public: 
    Strip &managedStrip;
    StripManager(Strip &stripToManage);
}

StripManager::StripManager(Strip &stripToManage)
{
    managedStrip = stripToManage;
}
TC

您可以初始化引用,但不能将其分配给它,因此您需要为此使用成员初始化器列表。无论如何,在构造函数中使用它而不是赋值是一个好习惯,因为它可以提高效率。

StripManager::StripManager(Strip &stripToManage) : managedStrip (stripToManage)
{
}

请注意,拥有引用成员会使其StripManager不可分配(StripManager a(strip1), b(strip2); a = b;除非您编写自定义赋值运算符,否则将无法编译;即使那样,由于无法分配引用,因此尚不清楚语义应该是什么),这可能是也可能不是问题取决于您的具体情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

c ++一个类可以包含一个与它成为朋友的类成员吗?

来自分类Dev

您可以在该类的成员函数内使用一个类吗?c ++

来自分类Dev

C ++:模板可以成为类的朋友吗?

来自分类Dev

我可以在C ++中按模板调用类的成员吗?

来自分类Dev

您可以在c ++中的抽象类中使用抽象函数吗?

来自分类Dev

您可以在C#和Entity Framework中访问类的Scaffold属性属性吗?

来自分类Dev

我可以在C ++中获取具有成员变量地址的对象的引用吗?

来自分类Dev

您可以在c中的函数的callong中调用函数吗

来自分类Dev

您可以在Redis c#中检索TTL吗?

来自分类Dev

您可以在C ++中定义同义词吗?

来自分类Dev

您可以确定C中的堆栈深度吗?

来自分类Dev

您可以在Linux终端中编译并运行c ++文件吗?

来自分类Dev

您可以在 C++ 中动态创建 for 循环吗?

来自分类Dev

Android:您可以在DoInBackground中访问AsyncTask类成员吗?

来自分类Dev

C ++对类数据成员的引用

来自分类Dev

可以将派生对象转换为c ++模板类中的基本引用吗?

来自分类Dev

类c ++中的静态成员未定义引用

来自分类Dev

C ++中对类成员的“未定义”引用

来自分类Dev

可以优化C ++类内部引用的存储吗?

来自分类Dev

您可以拆分Visual Studio项目(C#)并引用它吗?

来自分类Dev

“如何使WNDPROC或DLGPROC成为我的C ++类的成员”中的LNK2001?

来自分类Dev

可以使用C ++中的“重写和最终”说明符声明类的相同成员函数吗?

来自分类Dev

在C ++中,具有const数据成员的类可以没有复制赋值运算符吗?

来自分类Dev

我可以遍历类成员,就好像它们是 C++ 中的数组一样吗?

来自分类Dev

抽象类可以在C ++ 11中具有构造函数和私有成员吗

来自分类Dev

使函数指针成为c中结构的成员

来自分类常见问题

我可以在C ++中实现自治的`self`成员类型吗?

来自分类Dev

您可以从lua修改C结构吗?

来自分类Dev

对于由其他对象组成的C ++类,使这些成员对象成为指针是一种好习惯吗?

Related 相关文章

  1. 1

    c ++一个类可以包含一个与它成为朋友的类成员吗?

  2. 2

    您可以在该类的成员函数内使用一个类吗?c ++

  3. 3

    C ++:模板可以成为类的朋友吗?

  4. 4

    我可以在C ++中按模板调用类的成员吗?

  5. 5

    您可以在c ++中的抽象类中使用抽象函数吗?

  6. 6

    您可以在C#和Entity Framework中访问类的Scaffold属性属性吗?

  7. 7

    我可以在C ++中获取具有成员变量地址的对象的引用吗?

  8. 8

    您可以在c中的函数的callong中调用函数吗

  9. 9

    您可以在Redis c#中检索TTL吗?

  10. 10

    您可以在C ++中定义同义词吗?

  11. 11

    您可以确定C中的堆栈深度吗?

  12. 12

    您可以在Linux终端中编译并运行c ++文件吗?

  13. 13

    您可以在 C++ 中动态创建 for 循环吗?

  14. 14

    Android:您可以在DoInBackground中访问AsyncTask类成员吗?

  15. 15

    C ++对类数据成员的引用

  16. 16

    可以将派生对象转换为c ++模板类中的基本引用吗?

  17. 17

    类c ++中的静态成员未定义引用

  18. 18

    C ++中对类成员的“未定义”引用

  19. 19

    可以优化C ++类内部引用的存储吗?

  20. 20

    您可以拆分Visual Studio项目(C#)并引用它吗?

  21. 21

    “如何使WNDPROC或DLGPROC成为我的C ++类的成员”中的LNK2001?

  22. 22

    可以使用C ++中的“重写和最终”说明符声明类的相同成员函数吗?

  23. 23

    在C ++中,具有const数据成员的类可以没有复制赋值运算符吗?

  24. 24

    我可以遍历类成员,就好像它们是 C++ 中的数组一样吗?

  25. 25

    抽象类可以在C ++ 11中具有构造函数和私有成员吗

  26. 26

    使函数指针成为c中结构的成员

  27. 27

    我可以在C ++中实现自治的`self`成员类型吗?

  28. 28

    您可以从lua修改C结构吗?

  29. 29

    对于由其他对象组成的C ++类,使这些成员对象成为指针是一种好习惯吗?

热门标签

归档