漫谈c语言和c不同的设计理念

C语言的enum类型,特别适合给事物标识类别。

比如人有两种性别男女

系统中有几种字体

留学生的国籍等

反正给事物划分类别,的都可以使用。

枚举型变量也适合给水果标示类别

从功能上来说,不采用enum类型,

直接定义一个int型变量,

再定义#define宏,也能起到同样的作用

但是采用enum会更方便编程,更适合我们的思维习惯。

定义成整型,赋值时,任意整数值,编译时都不会有警告提醒,搞成enum,乱赋值会有提醒。

枚举的类别,用enum写程序时,都在一起,代码看起来也清楚。

如果搞成宏,和其他宏混在一起,不如enum得清楚。

其实编程语言的好多机制不是从功能上考虑的,

而是从方便编程,符合人的自然思维习惯,

方便编程角度考虑的。

比如说c++的函数名重载

在c语言中,

如果用函数来实现两个数相加

那两个整数相加,两个浮点数相加。

得用不同的函数名来命名。

而用c++两个不同形式参数的函数,可以命名为同一个函数名。

在调用时,具体调用的哪个,编译器会根据实际参数的类型,来确定。

这样更符合两数相加,同一个函数名的思维习惯。

同样的,还有c++的运算符重载,

有了运算符重载,原来需要用函数名表示的功能,可以用自己喜欢的运算符来表达。

还有c++的引用,

在c语言中,需要传递变量地址的实参

可以定义函数形参为引用,这样传递实参时,只要直接写变量名就可以了,不需要写取地址运算符。

任何东西都是双刃剑,编程语言灵活了,

实现一个功能有多种方式

程序员可以按自己喜欢的方式写程序

生产效率或许有提升

但是别人看懂他写的程序,相对就比较费劲了。

c++没有Java流行,或许和过于复杂有关系。

现在perl的骆驼书不流行了

同样是脚本语言。

Python提倡完成一种功能,只有一种方式。

Perl完成一种功能有多种方式。

现在python成了主流编程语言,

和python写的程序好懂有很大关系。

轨道交通灵活性不大但运费低


转载请注明:http://www.aierlanlan.com/rzgz/3499.html