现在的位置: 首页 > 综合 > 正文

【旧】C++Primer读书笔记(1)

2013年04月07日 ⁄ 综合 ⁄ 共 1107字 ⁄ 字号 评论关闭

C++Primer读书笔记(1)

 

前天,在网上读到一篇文章,深深觉得打好基础是非常非常关键的一件事情。回想大学时,C/C++课程当初只安排了一个学期,其他诸如数据库系统、数据结构等也仅仅是涉猎而已,编译原理更是没有涉及。这个和专业也有关系,我们是偏向应用的,课程这样设置也就不足为奇了。可惜,毕业后走的确实另外一条道路,偏向于底层编程。经过好几年的摸爬滚打,什么技术都大致涉及过,知识也扩展了不少,可是总觉得基础不是很扎实。受了这篇文档的影响,因此下定决心重新拾起这个基础的东西来。这篇文章我也收集在“杂感”里面了。

好了,言归正传,第一个选择的是Lippman、Lajoie写的《C++ Primer》第三版,潘爱民、张丽翻译,是电子版本。

要学习C++,先要找个编译器,Visual Studio.NET 2003太庞大了,不方便,因此选择了HPUX下面的aCC,使用vi作为编辑器。这样,我即可以学习C++,也可以熟悉和习惯在UNIX下面直接编程,而不是编辑好以后通过FTP上传,半调子了。另外一个原则是,无论多小、多简单的例子,也要亲手输入和编译执行一遍,以获得感性认识。

VI的设置:

  • 使用set autoindent设置自动缩进
  • 使用set number设置显示行数
  • 使用set tabstop=4设置tab的字符数
  • 可以编辑你的主目录下的.exrc文件,将这些设置添加进去,vi启动时自动执行

昨天看的是第一章,很快就过了一遍。下面是一些值得注意的地方。

1。预处理器

有这么几个macro需要关注:__FILE__, __LINE__, __DATE__, __TIME__

2。关于cin的问题

string word;
while ( cin >> word )
{...}
在以上的代码中,如果从console上输入字符串,怎么样才能结束?(HPUX环境下)我知道的是DOS下是CTRL+Z。在实验中,我只能预先编辑了一个文件,利用重定向来顺利通过了测试。

3。关于ifstream和ofstream

有这么一段代码:
ofstream outfile( "/a.txt" );
if ( ! outfile )
{...}
上面红色部分初看是判断outfile指针是否为空,但是outfile是一个对象而不是指针,初步猜测是ofstream重载了!操作符,来判断文件是否打开成功,等同于is_open()函数。经过试验和查看相关文档(文档不清楚),才基本弄明白了是这样的。

ifstream也是同样的道理,估计是基类里的实现,这个有待于进一步进行分析和挖掘。

补充:

什么的命令可以删除当前目录下的执行文件?

 

- 作者: 秋雁 访问统计: 90 2005年05月29日, 星期日 11:44  

抱歉!评论已关闭.