当前位置: 首页 > news >正文

网站开发即时聊天源码做网站及小程序需要会哪些技能

网站开发即时聊天源码,做网站及小程序需要会哪些技能,宁波网站建设信息网,医院网站推广方法最近开始学习C#xff0c;了解到它在C语言没有的一个特性 – 函数重载#xff0c;这一特性使得c的函数数量得以减少#xff0c;减小了对名字空间的污染#xff0c;另外对程序的可读性也有很大帮助。 那么c的函数重载这一特性是怎么实现的#xff0c;为什么不会发生命名冲…最近开始学习C了解到它在C语言没有的一个特性 – 函数重载这一特性使得c的函数数量得以减少减小了对名字空间的污染另外对程序的可读性也有很大帮助。 那么c的函数重载这一特性是怎么实现的为什么不会发生命名冲突呢别的函数在调用这些函数时编译器是怎么解析的呢怎么知道它该调用哪一个函数呢下面就这些问题来做一些简单解析。 1、什么是函数重载 C允许在同一作用域内声明并实现几个名称相同功能相似的函数但必须保证这些函数的参数列表不同参数个数不同、参数类型不同或者参数顺序不同 根据上面的定义判断哪些是正确的函数重载哪些是错误的 ① int Add(int a, int b) {return a b; }double Add(double a, double b) {return a b; } ② double Add(double a, int b) {return a b; }double Add(int a, double b) {return a b; } ③ int Add(int a, int b) {return a b; }int Add(int a, int b, int c) {return a b c; } ④ double Add(int a, double b) {return a b; }double Add(int b, double a) {return a b; } ⑤ int Add(int a, int b) {return a b; }double Add(int a, int b) {return a b; } ①②③很容易得出都是正确的函数重载 ④乍一看很像是满足了参数顺序不同这一条件但仔细分析一下函数在定义或声明是是可以省略参数名的因为编译器只检查函数参数的类型与个数并不会检查函数名。那么④的两个函数就可以看做是一个因为它们无法构成函数重载 ⑤看起来也很像啊但它满足函数重载的任何要求了吗另个函数参数列表完全是一样的唯一不一样的就是函数的返回值不同但仅仅返回不同是无法构成函数重载的的因此它们也无法构函数重载。 2、为什么需要函数重载 想一想我们的C语言里是怎么定义不同类型的数据的加法函数的 int Add(int a, int b); – int 型数据的加法函数 short Add(short a, short b); – short 型数据的加法函数 double Add(double a, double b); – double 型数据的加法函数 是不是感觉很麻烦都是同一功能的函数却要起不同的名字正式基于这一点c允许实现函数重载这样不仅同一功能的函数都能叫同一名字而且节省了名字空间。 3、编译器如何解决函数重载的命名冲突 c确实能支持函数重载但编译器是怎么处理这种特性,使它们在编译后不会出现名字冲突的呢 这里可以参考我的另一篇博客 重载函数编译后的新名字 http://blog.csdn.net/ljx_5489464/article/details/50981773 4、编译器如何解析重载函数的调用呢 上面我们知道了编译器通过一定的机制使重载函数在编译后不会发生名字冲突那么在调用这些重载的函数时编译器是如何知道该调用哪一个的呢 编译器一般需要依次按照下列规则来判断 a. 精确匹配参数列表完全匹配或者只是做微不足道的转换如数组名到指针、函数名到指向函数的指针、T到const T b. 提升匹配即整数提升如bool 到 int、char到int、short 到intfloat到double c. 使用标准转换匹配如int 到double、double到int、double到long double、Derived*到Base*、T*到void*、int到unsigned int d. 使用用户自定义匹配 e. 使用省略号匹配类似printf中省略号参数 通过以上规则来进行选择 ①根据函数名确定候选函数集 ②确定可用函数 ③确定最佳匹配函数 如果在最有多个最佳匹配函数找到调用将被拒绝因为有歧义、模凌两可。 本文参考 http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html
http://wiki.neutronadmin.com/news/447034/

相关文章:

  • 网站推广方法主要有哪几种蓟县网站制作
  • 怎么知道网站谁建的wordpress柒比贰主题破解版
  • 网上书城 网站建设方案设计品牌logo
  • 网站开发过什么软件遵义在线读者板留言
  • 东营网站建设价钱表html怎么添加动态图片
  • 互动营销网站站内优化主要从哪些方面进行
  • 网站建设的科目印度电商平台网站建设策划
  • 网站 推送cms下载官方网站
  • wordpress快应用关键字优化策略
  • 网站建设招标合同要求深圳建设银行分行网站
  • 电动车网站建设哈尔滨百度宣传推广
  • 石家庄做网站比较好的公司有哪些上海企业公示信息填报
  • 国企怎么做网站sem是什么公司
  • 天津市住房和城乡建设网站网站开发公司更换
  • 北京pc端网站开发成都网站建设技巧
  • 凡科做的网站推效果如何做好网站seo优化
  • 拼团网站开发免费高清视频会议软件
  • 武义做网站厦门百度推广排名优化
  • 网站内容规划要包括什么内容上海优化网站排名
  • 如何注册个人网站新手做网站起步教程
  • 长沙网站制作公司推荐做画册可以参考哪些网站
  • 企业网站托管电话wordpress非插件oss
  • vs2013做网站复兴网站制作
  • 岳阳做网站四川省建设厅注册管理中心网站
  • 站长工具seo优化系统公众号转wordpress
  • 推广方法有哪些技巧重庆企业seo网络推广外包
  • 贵州网站备案局营销策划公司 品牌策划公司
  • 上海制作企业网站wordpress托管服务
  • 公司网站打不开是什么原因正规网站建设商家
  • 淘宝做任务网站基于php+mysql的网站开发