[读书笔记] - <Essential C++> - 第一章: C++ 编程基础
2012-04-14 16:43
316 查看
关键词:
called: 调用;invoked: 唤起;
常用命令:
cout: 输出(see out);cin: 输入(see in);
cerr: 错误信息输出(see error);
小知识点:
1. main() 函数的返回值在 main() 函数的结尾必有 return 命令返回结果, 若在其末尾没有写这一语句的话, 编译时会被自动加上;
2. <iostream>
包含标准输入输出流函数的文件, 如 cout, cin 就是当中的函数, 若要使用必须包含该头文件;
3. 转义序列
'\n': 换行字符(newline)
'\t': 定位(跳格)字符(tab)
'\0': null
'\'': 单引号(single quote)
'\"': 双引号(double quote)
'\\': 反斜杆(backslash)
4. if 语句中的判断式
若逻辑运算符为 "||" 且运算符左边的计算结果为 true 的话, 则由此可判断出判断式的值必为 true, 故不会对运算符右边的表达式进行计算;
若逻辑运算符为 "&&" 且运算符左边的计算结果为 false 的话, 则由此可判断出判断式的值必为 false, 故不会对运算符右边的表达式进行计算;
反之则会计算出整个判断式的值;
5. 运算符的优先级 (precedence)
逻辑运算符: NOT(!)
算术运算符: (*, /, %)
算术运算符: (+, -)
相对关联运算符: (<, >, <=, >=)
逻辑运算符: AND(&&)
逻辑运算符: OR(||)
赋值运算符: (=)
6. 数组与向量的定义
数组: int arr[size], 其中 size 必须是常量表达式;
向量: vector<type> vec(size) or vector<type> vec(arr, arr + size), 其中 arr 也 type 型的数组;
注: 第二个参数为 arr + size, 而不是 arr + size - 1;
7. 指针
为了防止对 null 指针进行提取操作, 在使用前可以先加一个判断: if (pi)
如果要通过指针来选择操作行为, 必须改用 arrow(->) (而非 dot) 成员选择运算符;
8. 随机数
通过 <cstdlib> 中的 srand() 与 rand() 两个函数来实现, 其中 srand(int seed) 用于产生随机数种子, 而 rand() 则是利用种子产生随机数
9. cerr 与 cout 的区别
两者都会将结果输出到用户的终端机上, 而两者的唯一差别是, cerr 的输出结果并无缓存 (bufferred) 情形-- -- 它会立即显示于用户终端机上
10. 文件的读写
头文件: <fstream>
ofstream:
eg: ofstream outfile("filename"); ofstream outfile("filename", ios_base::app);
以输出模式打开文件, 若文件不存在, 则会自动创建; 若以第一种方式打开文件, 则原文件中的数据会被丢弃; 若想保留原数据, 则可以用第二种方式以追加模式打开文件;
ifstream:
eg: ifstream infile("filename");
以输入模式打开文件, 若打开失败, 则 infile 对象将会被核定为 false; 如果成功, 则该文件的写入位置会被设定在起始处;
读取操作: infile >> str;
每次会读取以空格为间隔的一段数据, 若已达到文件尾端, 则 str 会被核定为 false;
fstream:
eg: fstream iofile("filename", ios_base::in|ios_base::app);
注: 这时文件位置指针位于尾端, 若这时进行读取操作, 则会马上遇到 "读完" 的状况, seekg(int ) 可重新定位文件位置指针; eg: iofile.seekg(0);
相关文章推荐
- [读书笔记] - <Essential C++> - 第二章: 面向过程的编程风格
- [读书笔记] - <Essential C++> - 索引和一些琐碎
- UNIX基础知识--<<UNIX 环境编程>>读书笔记
- UNIX基础知识--<<UNIX 环境编程>>读书笔记
- <<UNIX环境高级编程>>学习总结——第一章:UNIX基础知识
- <并发编程的艺术>读书笔记-第三章java内存模型的基础
- 【基础知识】<第一章>初识Java
- <<C++Primer PLus 第五版>>读书笔记4(终篇)
- [C++基础]001_<iostream>和<iostream.h>的区别
- <<C++Primer PLus 第五版>>读书笔记4
- c/c++ 基础(一) “” <> 区别
- 第一章 容错机制 <<高质量动态网页技术编程指南(草稿)>>
- SpringBoot学习-第一章 新的Spring基础-<Spring Boot 实战>
- Python基础<十二:网络编程>
- [翻译] C++ STL容器参考手册(第一章 <array>)
- 原创:oracle PL/SQL编程基础 上<十一>
- C++基础<04>—标准库vector类型
- C++语言零基础入门教程:2.2 C/C++头文件大揭秘,""和<>有什么区别
- c++ 实现顺序栈类(初始化,入栈,退栈。读栈顶元素以及顺序输出栈顶指针与栈中的元素<<计算机软件技术基础 徐士良>>
- <C/C++基础> 多态实现机制