论C++标准委员会制定的一条不合理的标准
2006-05-23 20:28
302 查看
论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++标准委员会不让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和C++的简单介绍,标准制定历程
- C++中引用返回和标准返回的区别
- C++标准IO-文件的操作
- C++ 标准库类型-String,Vector and Bitset
- C++:STL标准入门汇总
- C++个人编程标准(字符、指针、字符串)
- C++标准注释原则 - 基于doxygen的C++注释
- 一个十分有用的标准C++写的split(string) 函数
- C++标准转换运算符dynamic_cast
- C++标准转换运算符dynamic_cast
- Java 的 JCP(Java Community Process)Java标准制定组织
- 谷歌语言标准中,C++成绝对的佼佼者
- C++ 11 标准及知识点的记录(1)
- 标准C++字符串string以及MFC6.0字符串CString的tokenize和split函数
- Visual C++ 8.0劫持C++标准?
- C++标准
- 【C/C++】标准C++中的string类的用法总结
- C/C++学习笔记-标准库类型
- 【学习C++】标准C++中的STL容器类简介
- c++ 常用标准类型转换模板