欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++编程语言的四项基本准则

程序员文章站 2022-07-09 13:31:04
C++编程语言的四项基本准则一、无二义无二义性是指C++在执行程序时,对于同一条语句,只有一种执行方式,不存在第二种执行方式,语句歧义会导致计算机执行错误。具体体现在如下方面:1、运算符的优先级和结合性优先级:运算符的优先级决定了运算符用于值的顺序,例如:int x=1+2*3;cout << x << endl; //根据优先级,会先计算2*3,再计算1+6,x输出结果为7。结合性:为消除诸如x=y=z是应先执行y=z还是x=y的二义性而制定的规则,例如:i...

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