EffectiveC读书笔记条款2
条款 2:尽量用而不用
scanf 和 printf 很轻巧,很高效。尽管他们很有用,但还是可以做些改进的。尤其是,他们不是类型安全的,而且没有扩展性(它们是C++的基石)。
scanf/printf 的这些弱点正是操作符>>和<<的强项; int i; Rational r; // r 是个有理数 cin >> i >> r; cout << i << r;
说明:上面的代码要通过编译,>>和<<必须是可以处理 Rational 类型对象的重载函数(可能要通过隐式类型转换)。如果没有实现这样的函数,就会出错(处理 int 不用这样做,因为它是标准用法)。另外,编译器自己也可以根据不同的变量类型选择操作符的不同形式,所以不必劳你去指定第一个要读写的对象是 int 而第二个是 Rational。
有些情况下回到那些经过证明而且正确的老路上去还是很有意义的。
第一,有些 iostream 的操作实现起来比相应的C stream 效率要低,所以不同的选择会给你的程序(虽然不一定,参见条款 M16) 带来很大的不同。但请牢记,这不是对所有的iostream ,只是一些特殊的实现;参见条款 M23。
第二,在标准化的过程中,iostream 库在底层做了很多修改(参见条款 49),所以对那些要求最大可移植性的应用程序来说,会发现不同厂商遵循标准的程度也不同。
第三,iostream 库的类有构造函数,而里面的函数没有,在某些涉及到静态对象初始化顺序的时候,如果可以确认不会带来隐患,用标准 C 库会更简单实用。
顺便说一句,本条款的标题没有打印错。是而非 。从技术上说,其实没有这样的东西——标准化委员会在简化非 C 标准头文件时,用取代了它。他们这样做的原因在条款49 进行了解释。还必须知道的是,如果编译器同时支持 和 ,那头文件名的使用会很微妙。例如,如果使用了#include , 得到的是置于名字空间 std(见条款 28)下的 iostream 库的元素; 如果使用#include ,得到的是置于全局空间的同样的元素。在全局空间获取元素会导致名字冲突,而设计名字空间的初衷正是用来避免名字冲突。还有,打字时比少两个字,这也是多数人它的原因。)
15分钟充满电量三星120Hz屏,12GB256GB旗舰机跌至2829元vivo手机的品质在国内还是颇受消费者认可的,华为遭到断货,没有5G基带可用,销量下滑就十分严重了,相信很多网友都想支持鸿蒙系统,但是又不想入手4G手机,因此也是无奈的,因为华为没
新零售为什么是大势所趋最近几年,实体店受到电商的影响越来越难做,特别是2020年的疫情爆发以来,让很多连锁实体店都倒闭了,对于电商和疫情的冲击,新零售模式降临,接下来了解一下什么是新零售模式一新零售是大
小区监控摄像头安装的数量不足和布局不合理,业主有权要求物业整改吗?小区监控设施和摄像头属于业主的共有设施设备。小区摄像头的数量和安装布局,是小区在规划设计时就已经确定,经过专业企业设计和施工的。属于小区里业主共有共有的设施设备。物业企业既不是投资
美中芯片行业竞争战略前景展望芯片只是俗称的说法,主要包括四大领域,集成电路功率半导体(分立器件)传感器和光电子器件。其中,集成电路占芯片80以上,是核心。2021年,中国大陆进口集成电路4100亿美元,增长2
电视是谁发明的?电视是谁发明的?大伙儿呗。这不光是个玩笑话,也是事实。和无线电电话录音机之类的事物不太一样,电视发明是有个传承接力不断完善的过程的。我们这里就一些大的节点来梳理一下吧。德国人尼普科
怎样才能获取电信4G信号?应邀回答本行业问题。4G是属于目前4G网络的升级版,想要取得电信的4G信号,需要手机和网络侧同时支持。4G是目前4G(LTE)网络的升级版,这个很大程度上是代表了CA(载波聚合)。
如何评价华为海思麒麟980?麒麟980可以说是近年海思麒麟的巅峰之作虽然此前华为凭着Mate系列实现了品牌崛起,但是麒麟9系旗舰芯片经常被用户诟病性能不如骁龙8系旗舰芯片。2016年的麒麟960虽然有心尝试大
当你什么都不会的时候,你想创业该怎么做?当你什么都不会时,来到一个城市举目无亲,想找份工作开始创业在当今社会其实也是很简单的一个事。首先是生存问题,必须先解决衣食住行。每个城市都会有很多的职业可供选择,比如,外卖,餐馆打
荣耀8X手机鸿蒙HarmonyOS2。0。0。215更新IT之家12月28日消息,近期,荣耀8X手机开始推送鸿蒙HarmonyOS2。0。0。215更新,下载大小为225MB。本次更新优化了联系人的使用体验,并修复了部分场景无法设置来电
高聚光纤为全光网发展扬长补短近日,年产8亿米超高速高聚光纤(简称高聚光纤)及设备研发生产基地项目正式落地浙江省金华市武义县,助力当地打造百亿级新材料产业集群,满足信息化建设需求。而选址武义县的原因,则因为该地
决战时刻到了!胜利的天平逐渐偏向司马南,联想将无力回天司马南质疑联想的问题,在经历了一个多月之后,事情不仅没有随着时间的推移而逐渐消散,反而是愈演愈烈,民众对这件事情的高度关注,再加上一些大V的逐渐入局,真相似乎更是显得扑朔迷离,而且