C++四大准则|无二义、高效性、合乎日常习惯、相似相同原则


一、最高准则:无二义性
对该准则的理解

无二义是每一个计算机高级语言最为重要的原则,出现二义性的语句对计算机而言就是无法理解的语句。在编程过程中某一条语句如若不能保证排除二义性,那么编译器在编译过程中将会报错,其根本目的是确保代码无二义性以保证程序的正常运行。

该准则的具体体现

1)运算符的优先级与结合性:
\\\C++针对输入的语句进行处理时一定要有一个固定的处理顺序,只有这样才能保证在任何时间这条语句在C++中的意义是相同的。针对3+5×4这条语句,是应该先计算5×4再加3,还是应该先计算3+5再计算×5呢,如果不规定运算符的优先级,那么结果就会产生二义性,显然是十分不合理的。

int x = 3 + 5 * 4;
cout << x << endl;

此语句的结果只可能是23
\\\运算符的结合性规定了语句读取的方向,上述例子的结合性为从左到右。当然也存在结合性为从右到左的例子,如赋值运算符、单目运算符、条件运算符。
具体运算符的优先级结合性可见网址:
https://blog.csdn.net/qq_38131333/article/details/81674642
(2)标识符不能以数字开头

double e = 3e3;

如果允许标识符以数字开头那么 3e3 既可表示标识符(变量名),亦可表示数值:3*10^3, 编译时会显示二义性。

二、次高准则:高效性
对该准则的理解

高效性意味着在相同的时间内程序运行的更快,也意味着运行相同的程序所需要的时间和空间更少。C++产生之初,计算机的工作效率并不迅速,因此需要更高效的语言提高程序的运行速度。

该准则的具体体现

(1)数组下标0索引。
是为了提高计算的效率,程序在取第i个变量的地址时,
0索引时:&a[i] = &a[0] + i * sizeof(a[0])
1索引时:&a[i] = &a[1] + (i-1)*sizeof(a[0])
很显然1索引相对于0索引程序再取第i个变量的地址时多进行了一个减法运算,而再计算机中减法运算较为耗时,所以C++采用了数组下标为0的索引来提高运行速度。
绝大多数编程语言,数组都是1索引的,如C/C++,Java,Python,C#。
但也有语言是1索引的,最典型的就是MATLAB。
(2)逻辑短路
表达式1 || 表达式2,如果表达式1为TRUE,跳过对表达式2的判断,整个表达式的运算结果为TRUE。(短路和)
表达式1 && 表达式2,如果表达式1为FALSE,跳过对表达式2的判断,整个表达式的运算结果为FALSE。(短路与)
有效的减少了运算,提高了程序运行效率。

三、第三准则:合乎日常习惯
对该准则的理解

在悠久的历史长河中,人们形成了一套符合大多数人的行为习惯和思维模式。而计算机高级语言作为一个供人类使用的语言,当然需要在必要的地方尽可能的贴合人们行为习惯与思维模式。一方面可以提高人们学习计算机语言的速度,另一方面可以减少产生由日常习惯引起的代码错误。
一套背离人们日常习惯的计算机语言,无疑会给程序员的入门与编程带来极大的不便性。

该准则的具体体现

1)代码的书写为从上至下,从左至右
2)某些特殊字符直接套用现实生活中的英文单词(namespace、endl、if、break、cout等)
2)数学逻辑运算顺序与实际匹配(乘除优先于加减)

四、第四准则:相似相同原则
对该准则的理解

现有对象A与B,A对象具有行为a,B对象具有行为b,如若行为a与行为b在形式与逻辑上有一定程度的相似性,那么在C++语言中会对A对象增加一个行为b,对B对象增加一个行为a

该准则的具体体现

初始化:
1、等号初始化:

int a = 5;
int a = i;

2、括号初始化:

int a(5);
int a(i);

3、列表初始化:

int a{5};
int a{i};
int a = {5};
int a = {i};

括号初始化,是变量与对象之间的“相似相同规则”
列表初始化,是变量与数组之间的“相似相同规则”

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

C++四大准则|无二义、高效性、合乎日常习惯、相似相同原则

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » C++四大准则|无二义、高效性、合乎日常习惯、相似相同原则
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏