2004年05月07日

经常说副作用,今天总算见识了一回。刚才观察程序的输出,发现“count”总是比预想的多一个,通过gdb跟踪观察,发现在cout语句中,考后的函数总是先被调用,这就造成了count问题。所以程序中的打印语句应该改为:

     cout << "ia: "<< j<< ": " << ia.read()  ;
        cout << " count = " << ia.count()<< endl;

下面是原先错误的写法:
cout << ”ia: ”<< j<< ”: ” << ia.pop()  << ” count = ” << ia.count()<< endl;

在看完这两期《程序员》上的“C++程序设计之四书五经”后,有一定感想。
1。C++是我安身立命的“法宝”,但精深不够还是不够
2。STL和模板缺少工程经验
3。C++标准库了解程度不够
4。应该阅读经典的C++code如boost库
5。应该用C++做一个有规模的项目,目前在工作使用C++时对于C++强大特性体现不够。工作中用到的特性多是“多态”,“封装”和“继承”。模板和标准库方面用的较少,这一点应该跟上。

今天早晨有个朋友向我请教有关学习VC的资料。回答完这位朋友后,我还有话要说。
以前用过一段时间MFC,现在又在Linux平台下工作,所以对”VC”这个名称,比较敏感,今天简单解剖一下。

我的理解,VC是一个专有的IDE
所谓IDE,就是一个编辑器+调试器+代码管理工具等等。
以前有些所谓的VC高手,不过是IDE用得比较熟吧。

说他专有,在于
1。语言:C/C++
2。Framework:MFC

另外,因为都是基于WIN32API上的,所有用的是通用的Windows开发的SDK。

所以,从IDE环境,C++语言,MFC framework,Windows SDK几个层次,几个方面去理解VC这个词要更好一些。

初学VC,首先熟悉IDE,然后深入理解一下MFC就可以了。