讲解之前,先来看一组代码

string read();
void print(const string &);
void print(double);
void fooBar(int ival)
{bool read = false; // 新作用域:隐藏了外层的readstring s = read;    // 错误: read是一个布尔值,而非函数// 为了给大家演示作用域,使用一个局部声明的函数,该写法并不鼓励void print(int val){ std::cout << val << std::endl; };  // 新作用域:隐藏了之前的printprint("Value: ");      // 错误:print(const string &)被隐藏掉了print(ival);     // 正确: 当前print(int)可见print(3.14);   // 正确:调用print(int); print(double)被隐藏掉了
}

函数的查找分为名称查找和参数匹配(因为重载函数的数量相对较少,所以大部分查找过程并不需要参数匹配)

在C++当中,名字查找在类型检查之前进行。

简单的讲,内层的名称会掩盖外层的名称,而无论该名称是何类型(函数、变量、枚举)

转载于:https://www.cnblogs.com/ChattyKu/p/9613703.html

【共读Primer】55.[6.4]函数重载--重载与作用域 Page210相关推荐

  1. 【共读Primer】52.[6.3]返回类型和return语句--返回数组指针 Page205

    数组不能被拷贝,所以返回值不能是数组类型. 但是我们可以使用返回指针的方式来实现返回数组的目的 声明一个返回数组指针的函数 int (*fun(int i))[10]; // func(int i) ...

  2. C++ primer第六章6.4函数的学习 之函数的重载

    6.4 函数的重载 函数的名字相同但是形参的列表不同,将其称之为重载函数 void print(const char *cp); void print(const int *beg,const int ...

  3. 小象学院源码共读之Executor解析

    Executor解析 Executor解析 Executor类的初始化 线程池threadPool及taskReaperPool详解 子类TaskRunner详解 子类TaskReaper详解 参考内 ...

  4. C++——运算符的重载---以成员函数方式重载---以友元函数方式重载

    一.运算符的重载 1.运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载.运算符仅仅是语法上的方便,它是另一种函 ...

  5. 超4000人参加源码共读,喊你来一起学习成长~打开新世界

    大家好,我是若川.很多关注我的新朋友可能不知道我组织了源码共读活动~ 也有很多人不知道我是谁.有人以为我是80后.有人以为我是全职自媒体等等.若川的 2021 年度总结,弹指之间 这篇文章写了我是16 ...

  6. 4月,诚邀你参加源码共读,学会看源码,打开新世界!开阔视野

    大家好,我是若川.很多关注我的新朋友可能不知道我组织了源码共读活动~ 也有很多人不知道我是谁.有人以为我是80后.有人以为我是全职自媒体等等.若川的 2021 年度总结,弹指之间 这篇文章写了我是16 ...

  7. 可能是全网首个前端源码共读活动,诚邀你加入一起学习

    大家好,我是若川.众所周知,从8月份开始,我组织了源码共读活动,每周学习200行左右的源码,到现在持续了3个多月,坚持答疑解惑.帮助了不少人,还是挺开心的.另外,涌现了很多优秀的读者朋友,比如有就职于 ...

  8. 3个多月,近3000人参与的源码共读,诚邀加入~

    大家好,我是若川.众所周知,从8月份开始,我组织了源码共读活动,每周学习200行左右的源码,到现在持续了3个多月,坚持答疑解惑.帮助了不少人,还是挺开心的.另外,涌现了很多优秀的读者朋友,投稿了很多优 ...

  9. 若川邀你进 源码共读 群~长期交流学习

    大家好,我是若川.这是一个愉快的周六~ 估计还是有很多读者不知道我.若川名字由来是取自:上善若水,海纳百川.顺便放两篇文章.我读源码的经历,跟各位读者朋友分享下公众号运营策略 加我微信进 源码共读 群 ...

最新文章

  1. Active Directory数据库复制原理
  2. 《走出软件作坊》书评活动图书奖品名单
  3. python软件开发的一般流程-django最快程序开发流程详解
  4. Apache Shiro实现用户登录功能
  5. 最长不下降子序列问题
  6. gerber文件怎么导贴片坐标_PCBA贴片加工厂家的上机贴片编程
  7. 一个edit的学习笔记
  8. VSS Get Latest Version 没有提示recursive的对话框解决
  9. 面向对象一些概念简述
  10. 30 分钟带你学透快应用界面开发的最正确姿势
  11. 如何快速高效的群发Email
  12. VisualSVN 破解方法
  13. 2020年下半年信息系统项目管理师综合知识真题试题解析
  14. 如何使用UltraCompare对比两个文件夹内容差异
  15. 易语言excel内容查找助手
  16. 远程计算机网络会议有哪些优缺点,远程会议
  17. 程序员在网吧敲代码,这波操作真的太秀了!
  18. 美光科技:2019财年的营收和净利润狂泻不止
  19. Codeforces A. Commentary Boxes
  20. VS Code CentOS7.7 终端字体设置

热门文章

  1. socket,TCP/IP的理解(转)
  2. [Labview资料] labview事件结构学习
  3. struts2的s:iterator 标签 详解
  4. C#基础之如何判断两个文件内容是否相同
  5. C# 定时器定时更新
  6. 基于spring-boot和elfinder的在线文件管理
  7. [Head First Java] - 给线程命名
  8. node --- 游走在客户端和服务器间的http
  9. 好程序员HTML5前端教程-css的引入方式和选择器
  10. 去掉浮夸,空杯心态重新面对测试