漫步云端

移动开发(Android、iPhone、Windows Mobile) | JAVA | C | C++ | .net | Objective C | 微软企业开发技术 | 嵌入式系统设计与开发
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C++ Primer 笔记

摘要:把参数声明成引用,实际上改变了缺省的按值传递参数的传递机制,在按值传递时,函数操纵的是实参的本地拷贝。 一、引用参数的三种常见用法: 1.需要改变实参的值,比如swap()。参数是引用时,函数接收的是实参的左值而不是值的拷贝。这意味着函数知道实参在内存中的位置,因而能够改变它的值或取它的地址。 2.向主调函数返回额外的结果。如下例:3.向函数传递大型的类对象。例如:class Huge { pu... 阅读全文

posted @ 2010-12-14 00:49 charley_yang 阅读(17845) 评论(1) 推荐(0) 编辑

摘要:系统为每个程序都提供了一个在程序执行时可用的内存池。 这个可用内存池被称为程序 的空闲存储区( free store) 或堆 (heap), 运行时刻的内存分配被称为动态内存分配(dynamic memory allocation)。 动态内存分配由 new 表达式应用在一个类型指示符 specifier 上来完成,类型指示符可以是内置类型或用户定义类型,new 表达式返回指向新分配的对象的指针... 阅读全文

posted @ 2010-12-12 15:30 charley_yang 阅读(704) 评论(0) 推荐(0) 编辑

摘要:vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 : #include vector 使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。 一、数组习惯用法 1. 定义一个已知长度的 vector : vector int ivec( 10 ); //类似... 阅读全文

posted @ 2010-12-11 16:33 charley_yang 阅读(93916) 评论(9) 推荐(27) 编辑

摘要:1. 已知下面的数组定义 int ia[] = { 0, 1, 1, 2, 3, 5, 8, 13, 21 }; 那么 只简单写 ia; 意味着什么呢 数组标识符代表数组中第一个元素的地址 它的类型是数组元素类型的指针 在ia这个例子中 它的类型是 int* 因此 下面两种形式是等价的 它们都返回数组的第一个元素的地址 ia; &ia[0]; 类似地 为了访问相应的值 我们可以取下列... 阅读全文

posted @ 2010-12-10 23:37 charley_yang 阅读(1107) 评论(0) 推荐(0) 编辑

摘要:声明了一个 int 型对象 而如下形式 int ia[10]; 1. 我们必须为数组指定一个大于等于 1 的维数,维数值必须是常量表达式—— 即:必须能在编译时刻计算出它的值 这意味着非 const的变量不能被用来指定数组的维数 ,下面的例子包含合法的和非法的数组定义 extern int get_size(); // buf_size 和 max_files 都是 const const i... 阅读全文

posted @ 2010-12-10 23:07 charley_yang 阅读(8638) 评论(0) 推荐(1) 编辑

摘要:1. 当表达式需要一个算术值时 布尔对象(如 found)和布尔文字都被隐式地提升成 int(正 如下面的例子) false 变成 0 而 true变成 1 例如 bool found = false; int occurrence_count = 0; while ( /* 条件省略 */ ) { found = look_for( /* 内容省略 */ ); // found 的值被提升... 阅读全文

posted @ 2010-12-10 22:46 charley_yang 阅读(8092) 评论(0) 推荐(1) 编辑

摘要:1. 引用 reference 有时候又称为别名 (alias), 它可以用作对象的另一个名字。 引用类型由类型标识符和一个取地址操作符来定义 引用必须被初始化 例如 int ival = 1024; // ok: refVal 是一个指向 ival 的引用 int &refVal = ival; // 错误 引用必须被初始化为指向一个对象 int &refVal2; 一旦引用已经定义, ... 阅读全文

posted @ 2010-12-10 22:35 charley_yang 阅读(533) 评论(0) 推荐(0) 编辑

摘要:从一个名为 in_file.txt 的文本文件中读取单词,然后把每个词写到一个名为out_file.txt的输出文件中 并且每个词之间用空格分开 阅读全文

posted @ 2010-12-08 23:05 charley_yang 阅读(2278) 评论(0) 推荐(0) 编辑

摘要:几个预处理指示符的使用 #include 头文件通过 include 预处理器指示符(preprocessor include directive) 而成为我们程序的 一部分 预处理器指示符用 # 号标识 这个符号将放在程序中该行的最起始一列上 处理 这些指示符的程序被称做预处理器 preprocessor 通常捆绑在编译器中 。 #ifndef 被包含的文件还可以含有#include 指示符... 阅读全文

posted @ 2010-12-08 22:38 charley_yang 阅读(1117) 评论(0) 推荐(0) 编辑

摘要:#includeiostream与#includeiostream.h及#inclue string 和 #include string.h的区别 1.从功能性的角度来讲,iostream包含了一系列模板化的I/O类,相反地iostream.h只仅仅是支持字符流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,iostream和iostream.... 阅读全文

posted @ 2010-12-08 22:07 charley_yang 阅读(5346) 评论(0) 推荐(1) 编辑