2013年10月19日
摘要: 一、介绍 库:库从本质上来说是一种代码重用的方式,即预先编译为可执行代码的二进制格式,可以被载入内存中执行。比如我们熟悉的c运行库,里面就实现了很多基本的函数,我们无需再自己写一遍,直接调用接口使用即可,库分静态库和动态库两种。 静态函数库:这类库的名字一般是xxx.lib;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。 动态函数库:这类库的名字一般是xxx.dll(也可以包含xxx 阅读全文
posted @ 2013-10-19 16:47 奎哥 阅读(385) 评论(0) 推荐(0) 编辑
  2013年10月13日
摘要: 一、类类的静态变量1、在类内进行声明2、在类外进行初始化3、只有const static int类型才能在类内进行初始化错误初始化1:#include class TestClass1{public: static int s;};void main(){ TestClass1::s = 1;//error LNK1120: 1 个无法解析的外部命令;不能在此初始化}错误初始化2(类内的初始化):#include class TestClass1{public: //错误的类内初始化 static int s = 1;//error C2864: “TestClass1... 阅读全文
posted @ 2013-10-13 17:40 奎哥 阅读(401) 评论(0) 推荐(0) 编辑
  2013年10月8日
摘要: 一、函数函数声明 在C++程序里,完成某件工作的一种典型方式就是调用一个函数去做那件事情。定义函数是你刻画怎样完成某个操作的一种方式。一个函数只有在预先声明之后才能调用。 在一个函数声明中,需要给出函数的名字,这个函数返回的值的类型,以及在调用这个函数时必顺提供的参数的个数和类型。 在函数声明中可以包含参数的名字。这样做可能对读程序的人有所帮助,但编译器将简单地忽略掉这样的名字。函数定义 在程序里调用的每个函数都必需在某个地方定义(仅仅一次)。 在函数的定义里,可以存在不使用的参数,这在实际工作中常常能看到的情况,如:void g(const char* key,const char*); 如 阅读全文
posted @ 2013-10-08 07:25 奎哥 阅读(375) 评论(0) 推荐(0) 编辑
  2013年8月25日
摘要: 一、基本类型1.内置类型C++基本内置类型有bool(1个字节)、char(1个字节)、wchar_t(2个字节)、short(2个字节)、int(4个字节)、long(4个字节)、float(4个字节)、double(8个字节)、long double(8个字节)。基本内置类型的存储空间依机器而定。c++标准规定了每个算术类型的最小存储空间。2.变量名变量名,即变量的标识符,由字母、数字和下划线组成变量名必顺以字母或下划线开头,并且区分大小写字母:C++的的标识符都是大小写敏感的。3.初始化默认的全局变量有默认值,局部变量则被赋予任意值,为安全起见,无论全局或者局部变量都要初始化。4.con 阅读全文
posted @ 2013-08-25 18:27 奎哥 阅读(356) 评论(0) 推荐(0) 编辑
  2013年8月8日
摘要: 1.简介算法部分主要由头文件,和组成。是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。中则定义了一些模板类,用以声明函数对象。STL提供... 阅读全文
posted @ 2013-08-08 21:22 奎哥 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1.简介map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供基于key的快速检索能力。map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入位置。map的具体实现采用红黑树变体的平衡二叉树的数据结构。在插入操作和删除操作上比vector快。map可以直接存取key所对应的value,支持[]操作符,如map[key]=value。multimap与map的区别:map支持唯一键值,每个键只能出现一次;而multimap中相同键可以出现多次。multimap不支持[]操作符。使用前的准备:#include u.. 阅读全文
posted @ 2013-08-08 21:07 奎哥 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 一、set/multiset1.简介:set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入位置。set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操作上比vector快。set不可以直接存取元素。(不可以使用at.(pos)与[]操作符)。multiset与set的区别:set支持唯一键值,每个元素值只能出现一次;而multiset中同一值可以出现多次。不可以直接修改set或multiset容器中的元素值,因为该类容器是自动排序的。如果希望修改一个元素值,必须先删除原有的元素,再插入新的元素。使用前 阅读全文
posted @ 2013-08-08 00:26 奎哥 阅读(316) 评论(0) 推荐(0) 编辑
  2013年8月7日
摘要: 一、deque1.简介deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双端的,而vector是单端的。deque在接口上和vector非常相似,在许多操作的地方可以直接替换。deque可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲)。deque头部和尾部添加或移除元素都非常快速。但是在中部安插元素或移除元素比较费时。使用前准备:#include using namespace std;2.deque对象的构造函数默认构造:deque采用模板类实现,deque对象的默认构造形式:deque deq.. 阅读全文
posted @ 2013-08-07 23:56 奎哥 阅读(523) 评论(0) 推荐(0) 编辑
  2013年8月6日
摘要: 一、容器的分类容器有序列式容器(Sequence containers)和关联式容器(Associated containers)序列式容器:每个元素的位置取决于元素被插入的时机,被插入时设置的位置,和元素值本身无关。序列式容器有vector、deque、list关联式容器:元素位置取决于特定的排序准则,和插入顺序无关。关联式容器有set、multiset、map、multimap二、vector1.vector简介vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法)。vector尾部添加或移除元素非常快速。但是 阅读全文
posted @ 2013-08-06 23:10 奎哥 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1.string使用之前的准备?12#include using namespace std;2.string的构造函数 1 #include 2 using namespace std; 3 4 void main() 5 { 6 string s1; string s2; //默认构造函数: 7 8 string s1(s2); //拷贝构造函数 9 10 string strA("UIPower"); //带参数的构造函数:11 string strB(5,'A'); //"AAAAA"12 ... 阅读全文
posted @ 2013-08-06 22:32 奎哥 阅读(230) 评论(0) 推荐(0) 编辑