C++开发初级


1034 浏览 5 years, 10 months

5.4 常量引用数据成员

版权声明: 转载请注明出处 http://www.codingsoho.com/

常量引用数据成员

就像一个普通引用可以引用常量对象一样,引用成员也可以引用常量对象。例如,您可能决定让Spreadsheet只包含应用程序对象的常量引用,为此只需要简单地在类定义中将mTheApp声明为常量引用:

class SpreadsheetApplication; // forward declaration

class Spreadsheet
{
 public:
  Spreadsheet(int inWidth, int inHeight,
          const SpreadsheetApplication& theApp);
 protected:
  const SpreadsheetApplication& mTheApp;
}; 

代码取自 SpreadsheetDataMembers\Spreadsheet.h

常量引用以及非常量引用之间存在一个重要差别。常量引用SpreadsheetApplication数据成员只能用于调用SpreadsheetApplication对象上的常量方法。如果试图通过常量引用调用非常量方法,编译器会报错。

还可以创建静态引用成员或者静态常量引用成员,但一般不需要这么做。