博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《C++覆辙录》——2.7:“函数还是对象”的多义性
阅读量:5937 次
发布时间:2019-06-19

本文共 522 字,大约阅读时间需要 1 分钟。

本节书摘来自异步社区出版社《C++覆辙录》一书中的第2章,第2.7节,作者: 【美】Stephen C. Dewhurst(史蒂芬 C. 杜赫斯特),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7:“函数还是对象”的多义性

对象的默认初始化语句不应该写成一个空的初始化实参列表的形式,因为它会被解释成一个函数声明:

String s("Semantics, not Syntax! "); // 显式指定了用以初始化的实参String t; // 默认的对象初始化语句⑧String x();⑨// 一个函数声明```⑧译者注:对象名后不带括号。⑨译者注:这里声明了一个不带实参并返回`String`型别的函数,可能违反代码作者本意。这是一个C++语言内廪的多义性。实践角度来说,语言“掷硬币”决定了x是一个函数声明20。请注意,该多义性问题在new表达式中并不发作:

String *sp1 = new String(); // 这里没有多义性⑩

String *sp2 = new String; // 一样的意思`
⑩译者注:出于一致性考量不推荐。
当然,第二种形式更好。因为它被更广泛地使用,和对象的声明语句也更具正交性。

转载地址:http://fyxtx.baihongyu.com/

你可能感兴趣的文章
Docker 安装
查看>>
查询文件系统容量与每个目录的容量
查看>>
如何确定一个网站是用Wordpress开发的
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
wdcp 安装
查看>>
C语言运算符优先级相关问题
查看>>
MP4视频播放器代码
查看>>
Nginx 匹配 iphone Android 微信
查看>>
ldap
查看>>
我的友情链接
查看>>
Yum软件仓库配置
查看>>
linux 压缩与解压总结
查看>>
mysql脚本1064 - You have an error in your SQL syntax; check the manual
查看>>
nessus 本地扫描(一)
查看>>
linux服务器磁盘陈列
查看>>
交换机配置模式
查看>>
python----tcp/ip http
查看>>
我的友情链接
查看>>
第一本docker书学习笔记1-3章
查看>>