论C++标准委员会制定的一条不合理的标准

原创 2006年05月23日 20:28:00

论C++标准委员会制定的一条不合理的标准

C++标准委员会不让for后()中定义的变量在外边用,我觉的非常不合理
在我做的太极语言中是这样设计的,()中的名字注册进入首个含名字空间的母垣(垣的概念大家都知道了吧),中间如果经过了{}则要加序号标记。

for()中定义的变量让不让在外边用曾经是一个争议挺大的问题.在太极语言中是这样考虑的:单独从for本身考虑两方面的意见不好确定,把目光放向全局.就是看()中定义的变量是否要全区域可见.

在太极语言中讲究"做一件事情只要一句话",让紧密关联的代码能写在一句中.
比如下面的一个函数调用.
fc(&(int a));//原型为 void fc(int * p);
k=a;
所以必须让()中定义的变量全区域可见.

在C/C++中你却必须这样写,
int a;
fc(&a);
k=a;
违背了"紧密关联的代码能写在一句中"这个原则.


举具体例子对比一下:
太极语言:
FindFirstFile(pfindstr,&(WIN32_FIND_DATA wfd));

C/C++:
WIN32_FIND_DATA wfd;
FindFirstFile(pfindstr,&wfd);


太极语言:
m_edit1.GetWindowText(CString cstr);
m_edit2.SetWindowText(cstr);

C/C++:
CString cstr;
m_edit1.GetWindowText(cstr);
m_edit2.SetWindowText(cstr);


太极语言:
FindFirstFile(char * pfindstr="*.*",&(WIN32_FIND_DATA wfd));

C/C++:
char * pfindstr="*.*";
WIN32_FIND_DATA wfd;
FindFirstFile(pfindstr,&wfd);


从代码的可读性与直观性与可维护性上太极语言所采用的方式是比C/C++好的.
需要预定义的变量增多时这种表现更明显.必须让()中定义的变量全区域可见!
那么从形式连贯一致性角度考虑,也要让for()中定义的变量全区域可见!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

论c++构造函数中的不合理设计

发信人: RoachCock (我要做真正不聪明的程序员), 信区: Programming        标  题: 论c++构造函数中的不合理设计...

论C++构造函数中的不合理设计

在C++中,构造函数是一个在构件对象的时候调用的特殊的函数,其目的是对对象进行初始化的工作,从而使对象被使用之前可以处于一种合理的状态。但是,构造函数的设计并不完美,甚至有些不合理的特性。比如说,限定...

论c++构造函数中的不合理设计

论c++构造函数中的不合理设计 作者:张岩     在c++中,构造函数是一个在构件对象的时候调用的特殊的函数,其目的是对对象进 行初始化的工作,从而使对象被使用之前可以处于一种合理的状态。但是...

面向对象的javascript系列文章(1)接口——是一个标准委员会

在面向对象开发中,接口确实是一个特别抽象的名词,加上一些语法的赘述,“醉了~”有木有。 一般在java中对于接口的定义会是这样的:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法...

有关海关关税的收取标准和合理纳税的心得体会

在这里看了这么多经验盒子,发现这块有关海关关税这块竟然没有人分享下,不知道为什么。自己就根据自己海淘的经验,现现丑,谈谈海关收取关税的事宜。 其实海关收取关税可以说是有两种方式,一种是按:海关总署2...

C11标准委员会成员解读C语言新标准

导读:C语言国际标准新的新草案之前已经公布,新标准提高了对C++的兼容性,并将新的特性增加到C语言中。此外支持多线程的功能也受到了开发者的关注,基于ISO/IEC TR 19769:2004规范下支持...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)