C++编程语言的四项基本准则
C++编程语言的四项基本准则
一、无二义
无二义性是指C++在执行程序时,对于同一条语句,只有一种执行方式,不存在第二种执行方式,语句歧义会导致计算机执行错误。
具体体现在如下方面:
1、运算符的优先级和结合性
优先级:运算符的优先级决定了运算符用于值的顺序,例如:
int x=1+2*3;
cout << x << endl;
//根据优先级,会先计算2*3,再计算1+6,x输出结果为7。
结合性:为消除诸如x=y=z是应先执行y=z还是x=y的二义性而制定的规则,例如:
int x,y=2,z=3;
int x=y=z;
cout << x << endl;
//根据结合性,x输出结果为3。
2、标识符不能以数字开头
当标识符以数字开头时,无法知道这个标识符是一个变量还是常量,会引起歧义,违背了无二义性,例如:
int x=2e2;
倘若标识符可以以数字开头,我们就无法知道 2e2 指的是一个变量还是数字 2×102 ,违背了无二义性。
3、贪心原则
每个符号应该包含尽可能多的字符,计算机在从左到右依次读取字符时,如果已经读取的字符能构成一个字符,将读取下一个字符,然后判断它与前一组字符能否组成一个字符,如果可以组成一个字符则重复此部,如果不能则将此字符作为第一个字符进行依次往后读取。例如:
int i=1,j=2;
int x=i+++j;
其中的 i+++j 可以理解为 (i++) +j 。
二、高效性
c++出现时计算机的效率较低,因此高效性作为c++的第二高准则。
1、数据组下标0索引。
以0作为下标相比于1可以减少减法运算,可以提升效率。
//0为索引时
&a[i] = &a[0] + i*sizeof(a[0]);
//1为索引时
&a[i] = &a[1] + (i-1)*sizeof(a[1]);
2、逻辑短路
主要应用于诸如 A&&B 类的运算,当判断A为否时计算机将不再进行B的运算,以此来提高计算机的效率。
int i=1,j=1;
int if( i>2 && i++ );
j++;
cout << i << endl;
cout << j << endl;
//因为 i>2 不成立,所以计算机不再执行 i++ ,因此i的输出结果仍为1。
三、合乎日常习惯
1、内置函数命名
嵌入到主调函数中的函数称为内置函数,又称内嵌函数。 作用是提高程序的执行效率,大多编程语言都有自己的内置函数,在C++中的内置函数有数学函数、随机函数等。 其命名由其英文表达,方便程序员记忆与使用。
2、语序
C++与我们阅读的方向相同,从左向右,由上至下,一个字符一个字符地阅读,符合我们的日常习惯。
四、相似相同原则
括号初始化 体现了变量与对象之间的“相似相同规则”,列表初始化 体现了变量与数组之间的“相似相同规则”。
int i = 5;
std::cout << i << "\n";
int j(5);
std::cout << j << "\n";
int k = i;
std::cout << k << "\n";
int l(i);
std::cout << l << "\n";
int m{ i };
std::cout << m << "\n";
int n = { i };
std::cout << n << "\n";
本文地址:https://blog.csdn.net/m0_51100109/article/details/108994905