Chinaunix首页 | 论坛 | 博客
  • 博客访问: 515721
  • 博文数量: 174
  • 博客积分: 8001
  • 博客等级: 中将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-04 19:30
文章分类

全部博文(174)

文章存档

2011年(1)

2010年(24)

2009年(149)

我的朋友

分类: C/C++

2009-03-11 23:10:30

对于printf和scanf, fopen和fclose十分习惯了之后,怎么避免自己写出C风格的C++程序呢?
问题不是这样的:
用cout和cin代替printf和scanf
用ifstream和ofstream代替fopen和fclose
用new和delete代替malloc和free
用string代替char *
...
事实上,所谓要代替的不是还在Linux中广泛存在吗?问题是C++的程序到底是什么样的呢?
面向对象和泛型编程,我认为是C++的主要特征。
例如我们可能在C里会写出动态分配内存的struct, 然后每次要free一个struct的时候,就先free内部的内存;但是C++不是这样的,C++会定义析构函数,在对象失去生命的时候,自动释放内存。这样,显然更加方便了。
再如我们会对这个struct编写相应的函数来执行一些操作,C++会抽象的把它们封装为成员函数。
还有其他的面向对象的机制。
而泛型编程,就是使用template机制。但是更主要的是使用STL来支持所要使用的数据结构和算法,将自己的开发建立在标准的基础上。
从这两个观点出发,才能写出是C++的程序。
阅读(1098) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

lsupper2009-03-16 19:57:16

谢谢,我刚好开始做这方面的,有指导性 3Q