C++基础
winjack11
这个作者很懒,什么都没留下…
展开
-
C++ Primer Chapter8 Interrogating and Controlling the State of a Stream(流状态的查询和控制) 示例研究
书中示例:int ival; // read cin and test only for EOF; loop is executed even if there are other IO failures while (cin >> ival, !cin.eof()) { if (cin.bad()) // input原创 2009-06-26 09:10:00 · 576 阅读 · 0 评论 -
C++ Primer 学习笔记:C风格字符串
定义:以空字符 null 结束的字符数组。如:char ca1[] = {C, +, +}; // 没有以null字符结尾,不是C风格字符串char ca2[] = {C, +, +, /0}; // 以null字符结尾,是C风格字符串char ca3[] = "C++"; // 隐式以null字符结尾,是C风格字符串con原创 2009-07-06 16:05:00 · 539 阅读 · 0 评论 -
C++ Primer 学习笔记:数组和指针
数组下标:==========类型: size_t==========使用示例:const size_t array_size = 10;int ia[array_size]; for (size_t ix = 0; ix != array_size; ++ix) ia[ix] = ix;指针:==========最典型使用:strin原创 2009-07-06 14:40:00 · 454 阅读 · 0 评论 -
C++ Primer 学习笔记:iterator和const_iterator
定义:迭代器是一种检查容器内元素并遍历元素的数据类型。1.迭代器用于容器。2.标准库为每一种标准容器都定义了一种迭代器类型。 如 vector:vector::iterator iter;3.标准库没有为所有标准容器定义相应的下标操作。总结:最好使用迭代器遍历容器。 begin 和 end 操作:1.每种容器都定义了一对命名为 begin 和 end 的函数,原创 2009-07-06 12:51:00 · 981 阅读 · 1 评论 -
C++ Primer 学习笔记:vector类
使用准备:#include using std::vector; 使用方法推荐:动态增长vector 对象(以及其他标准库容器对象)的重要属性就在于可以在运行时高效地添加元素。因为 vector 增长的效率高,在元素值已知的情况下,最好是先初始化一个空 vector 对象,然后再动态地增加元素。 常用操作:v.empty() v.size() v.push_ba原创 2009-07-06 09:49:00 · 476 阅读 · 0 评论 -
C++ Primer 学习笔记:string类
使用准备:#include using std::string; 使用 getline 读取整行文本:int main(){ string line; while (getline(cin, line)) cout return 0;} 使用 getline 读取整行文本与使用cin读取输入文本的区别:使用 getline 读取整行原创 2009-07-04 14:06:00 · 604 阅读 · 0 评论 -
C++ Primer 学习笔记:头文件的使用小结
头文件不宜太大编译头文件需要一定的时间。如果头文件太大,程序员可能不愿意承受包含该头文件所带来的编译时代价。 头文件用于声明而不是用于定义定义只可以出现一次,而声明则可以出现多次,所以如下所示的定义不应该放在头文件里:extern int ival = 10; // initializer, so its a definitiondouble fica_rate原创 2009-07-03 17:55:00 · 1206 阅读 · 0 评论 -
C++ Primer学习笔记:引用的使用注意事项
非 const 引用必须用与该引用同类型的对象初始化,且不能初始化为右值(如字面值常量):int ival = 1024;int &refVal = ival; // ok: refVal refers to ivalint &refVal2; // error: a reference must be initializedint &refVal3 = 10; // erro原创 2009-07-03 17:17:00 · 621 阅读 · 0 评论 -
C++ Primer学习笔记:C++ 常用标准类型小结
string::size_type:string下标和大小的类型(遍历每一个字符时使用)vector::size_type:vector下标和大小的类型vector::iterator:遍历vector用,与vector obj.begin();obj.end()同类型size_t:数组下标和大小的类型原创 2009-06-26 09:39:00 · 425 阅读 · 0 评论 -
C++ Primer学习笔记:算术类型使用小结
实际上,许多人用整型进行计数。例如:程序经常计算像 vector 或数组这种数据结构的元素个数。在第三章和第四章中,我们将看到标准库定义了一组类型用于统计对象的大小。因此,当计数这些元素时使用标准库定义的类型总是正确的。其他情况下,使用 unsigned 类型比较明智,可以避免值越界导致结果为负数的可能性。 当执行整型算术运算时,很少使用 short原创 2009-06-26 13:14:00 · 517 阅读 · 0 评论 -
C++ Primer学习笔记:C++与C不同的编程习惯
vector的遍历方式:for (vector::size_type ix = 0; ix != ivec.size(); ++ix) ivec[ix] = 0; 1.C++:for 循环的判断条件用 != 来测试 vector 下标值是否越界。 C: for 循环的判断条件用 来测试 vector 下标值是否越界。 2.C++:在 for 语句头中调用 s原创 2009-06-26 10:45:00 · 489 阅读 · 0 评论 -
C++ Primer学习笔记:标准输入/输出
#include using namespace std; int main() { int v1; cin >> v1; cout << v1 << endl; // endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。 // 通过刷新缓冲区,用户可立即看原创 2009-06-26 10:16:00 · 357 阅读 · 0 评论 -
C++ Primer学习笔记:基本编译方法
调用 GNU 编译器的默认命令: $ g++ prog1.cc -o prog1调用 Visual Studio 编译器的默认命令:C:/directory> cl -GX prog1.cpp [prog2.cpp] ... [progn.cpp]原创 2009-06-26 10:10:00 · 487 阅读 · 0 评论 -
C++ Primer学习笔记:变量使用小结
变量命名习惯 1.变量名一般用小写字母。例如,通常会写成 index ,而不写成 Index 或 INDEX 。2.标识符应使用能帮助记忆的名字,也就是说,能够提示其在程序中的用法的名字,如 on_loan 或 salary 。3.包含多个词的标识符书写为在每个词之间添加一个下划线,或者每个内嵌的词的第一个字母都大写。例如通常会写成 student_loan 或 studentLoan原创 2009-06-26 13:56:00 · 470 阅读 · 0 评论 -
C++ Primer学习笔记:类定义和使用
在Sales_item.h中定义:#ifndef SALES_ITEM_H // 防止头文件被多次包含#define SALES_ITEM_H#include using namespace std;class Sales_item { public: Sales_item(): units_sold(10), r原创 2009-06-26 10:56:00 · 501 阅读 · 0 评论 -
C++ Primer学习笔记:字面值常量使用小结
非打印字符的转义序列:换行符/n水平制表符/t纵向制表符/v退格符/b回车符/r进纸符/f报警(响铃)符/a反斜线//原创 2009-06-26 13:33:00 · 462 阅读 · 0 评论 -
C++ Primer 学习笔记:动态数组
定义:int *pia = new int[10]; // array of 10 uninitialized ints此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia。在自由存储区中创建的数组对象是没有名字的,只能通过其地址间接地访问堆中的对象。注意:C++使用new和delete在堆(自由存储区)上分原创 2009-07-06 16:20:00 · 1483 阅读 · 0 评论