第六章

1.函数中参数引用const

例如: int f(const string &s)

使用const为是为了防止修改,引用&是为了避免实参赋值给形参的时候进行拷贝。

2.函数重载

函数名字相同,形参列表不同

不允许其他都一样,返回类型不同

Record lookup(const Account&);

bool lookup(const Account&);

 

 

习题:

6.32什么情况下返回的引用无效?什么情况下返回常量的引用无效?

当返回的引用的对象是局部变量时,返回的引用无效;当我们希望返回的对象被修改时,返回常量的引用无效。

6.36

string (&f(int i)) [10]

6.39

(a) int calc(int, int);
    int calc(const int, const int);
(b) int get();
    double get();
(c) int *reset(int *);
    double *reset(double *);

说明在下面的每组声明中第二条语句是何含义。 如果有非法的声明,请指出来。

  • (a) 非法。因为顶层const不影响传入函数的对象,所以第二个声明无法与第一个声明区分开来。
  • (b) 非法。对于重载的函数来说,它们应该只有形参的数量和形参的类型不同。返回值与重载无关。
  • (c) 合法
posted @ 2021-04-08 10:18  11YS  阅读(49)  评论(0编辑  收藏  举报