随笔分类 -  c/c++

摘要:1、自动对象默认情况下,局部变量的生命期局限于所在函数的每次执行期间。只有当定义它的函数被调用时才存在的对象称为自动对象。自动对象在每次调用函数时创建和撤销。该类型局部变量存储在栈上,在动态存储区。局部变量所对应的自动对象在函数控制经过变量定义语句时创建。如果在定义时提供了初始化,那么每次创建对象时 阅读全文
posted @ 2017-12-13 21:07 geloutingyu 阅读(1340) 评论(0) 推荐(0)
摘要:vector: 如同一般复合类型一样,vector 迭代器也可以声明成: const vector<int>::iterator it1 = v.begin(); vector<int>::iterator const it2 = v.begin(); 但在一般复合类型中 it1 通常是底层 con 阅读全文
posted @ 2017-12-09 13:18 geloutingyu 阅读(4302) 评论(0) 推荐(0)
摘要:异常处理机制为程序中异常检测和异常处理这两部分的协作提供支持。在c++中异常处理包括: 1. throw 表达式,异常检测部分使用 throw 表达式来表示它遇到了无法处理的问题。我们说 throw 引发 (raise) 了异常。 2. try 语句块 (try block),异常处理部分使用 tr 阅读全文
posted @ 2017-12-07 19:31 geloutingyu 阅读(273) 评论(0) 推荐(0)
摘要:命名的强制类型转换: cast-name<type>(expression); 其中 type 是要转换成的目标类型,expression 是要转换的值。如果 type 是引用类型,则结果是左值。cast-name 指定是哪种转换,有 static_cast, dynamic_cast, const 阅读全文
posted @ 2017-12-02 19:08 geloutingyu 阅读(266) 评论(0) 推荐(0)
摘要:数组时一种类似于标准库类型 vector 的数据结构,但是再性能和灵活的权衡上又与 vector 有所不同。与 vector 相似的地方是,数组也是存放类型相同的对象的容器,这些对象本身没有名字,需要通过其所在位置访问。与 vector 不同的地方是,数组的大小确定后不能变,不能随意向数组中添加元素 阅读全文
posted @ 2017-11-27 19:46 geloutingyu 阅读(243) 评论(0) 推荐(0)
摘要:标准库类型 vector 表示对象的集合,其中所有对象的类型都相同。集合中每个对象都有与之对应的索引,索引用于访问对象。因为 vector "容纳着" 其他对象,所以也被称作容器。 vector 是模板类而非类型,由 vector 生成的类型必须包含 vector 中元素的类型,如:vector<i 阅读全文
posted @ 2017-11-26 19:40 geloutingyu 阅读(290) 评论(0) 推荐(0)
摘要:初始化string对象的方式: 通过 “=” 初始化一个变量,实际上执行的是拷贝初始化。不使用 "=" 则执行的是直接初始化。 string对象上的操作: 处理 string 对象中的字符 cctype头文件中的函数 使用基于范围的 for 语句访问 string 对象中的字符 阅读全文
posted @ 2017-11-26 17:51 geloutingyu 阅读(185) 评论(0) 推荐(0)
摘要:auto: auto能让编译器通过初始值来推算变量的类型。显然auto定义的变量必须有初始值: 使用auto也能在一条语句中声明多个变量。因为一条语句只能有一个基本类型,所以该语句中所有变量的初始值的变量类型必须一致: 复合类型,常量和auto: 编译器推断出来的auto类型有时候和初始值的类型并不 阅读全文
posted @ 2017-11-26 12:42 geloutingyu 阅读(253) 评论(0) 推荐(0)
摘要:const能对变量加以限定,使其值不可修改。如: const int inf = 0x3f3f3f3f; 任何试图修改变量inf的值的操作都将引起编译错误。 因为 const 对象一旦创建后就不能修改,所以const对象必须初始化。 const的引用: 可以把引用绑定到const对象上,就像绑定到其 阅读全文
posted @ 2017-11-25 21:46 geloutingyu 阅读(514) 评论(0) 推荐(0)
摘要:引用: 引用相当于给引用的对象起一个别名,对引用的操作即是对原对象的操作。 使用方式: int cnt = 1024; int &x = cnt; 一般情况下引用的类型要和被引用对象一致(例外是常量引用可以和对应的非常量对象绑定)。 一般在初始化变量时,初始值会被拷贝到新建的对象中。然而定义引用时, 阅读全文
posted @ 2017-11-25 20:30 geloutingyu 阅读(3597) 评论(0) 推荐(0)
摘要:可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。 声明变量或函数如: extern “C” 在c++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情 阅读全文
posted @ 2017-11-09 23:09 geloutingyu 阅读(174) 评论(0) 推荐(0)
摘要:如果某些函数在其他很多 cpp 文件中被调用,那么为了避免写大量重复的代码以及让代码量更小一些,我们可以将这些函数写头文件中,然后其他 cpp 文件只需要引用该头文件然后就可以使用包含在头文件中的函数了。 具体实现方法: 可以直接将函数的定义写入一个xxx.h文件中然后用g++ xxx.h 命令将x 阅读全文
posted @ 2017-11-09 22:18 geloutingyu 阅读(2600) 评论(0) 推荐(0)