摘要: 1.Map1.1 map是一种pair的容器,pair的种类是pair。map采用下标访问一个已存在的key, 会更新value,访问map中不存在的元素时,会增加一个新的键值对。map中的元素按照key进行从小到大排列。map的底层实现是采用二叉树,一般是使用红黑树。#include #inclu... 阅读全文
posted @ 2014-07-18 08:47 Monica_Lee 阅读(173) 评论(0) 推荐(0)
摘要: 1.默认拷贝构造函数1.1 编译器自动为我们合成一个拷贝构造函数。A(const A &).1.2 对象复制的时机:a) 显式复制。b) 使用对象做形参c) 使用对象做返回值d) 往容器中放入对象#include #include #include using namespace std;/* *用... 阅读全文
posted @ 2014-07-17 22:12 Monica_Lee 阅读(217) 评论(0) 推荐(0)
摘要: 1. 顺序容器的初始化操作 1.1 顺序容器(vector,list,deque)的五种初始化方法,以 vector 为例。 #include #include #include using namespace std;int main(int argc, const char *argv[]){ //1.定义空数组 然后后面追加 vector vec1; vec1.p... 阅读全文
posted @ 2014-07-16 22:58 Monica_Lee 阅读(246) 评论(1) 推荐(0)
摘要: 1.函数指针1.1 普通成员函数指针包含类名信息以及const属性,指向具体函数是必须加上&符号。#include using namespace std;class Test{ public: void setValue(const string &s, int a){ ... 阅读全文
posted @ 2014-07-16 10:17 Monica_Lee 阅读(389) 评论(0) 推荐(0)
摘要: 1.程序框架分析:a)首先将mutex, condition, queue 封装成各自的类,方便对外提供接口函数,这里要注意 condition的封装,一个条件变量和一把锁是一起用的,因此在初始化 condition 对象的时候要用一个 mutex 对象去初始化,在pthread_cond_wait... 阅读全文
posted @ 2014-07-15 23:56 Monica_Lee 阅读(244) 评论(0) 推荐(0)
摘要: 1.封装Mutex 1.1 封装前先总结一下常用的mutex操作有: pthread_mutex_init(&mutex, NULL ); //初始化一个互斥锁 pthread_mutex_destroy(&mutex); //销毁一个互斥锁 pthread_mutex_lock(&mutex); //上锁 pthread_mutex_unlock(&mutex);// 解锁 1.2 ... 阅读全文
posted @ 2014-07-15 23:53 Monica_Lee 阅读(416) 评论(0) 推荐(0)
摘要: 1. 程序一,错误之处,当一个消费者在等待,此时一个生产者生产一个产品后把该消费者的等待线程激活,但是此时她还没有抢到锁,这个时候又来了一个消费者,并且互斥锁正好被它抢走,那么经过if判断此时队列不空,新来的消费者消费完释放锁离开,这时前面的被激活的那个消费者抢到了锁,当它在进行消费的时候就发生了错... 阅读全文
posted @ 2014-07-14 21:14 Monica_Lee 阅读(470) 评论(0) 推荐(0)
摘要: 1.要求:将一篇文章录入,然后实现查询:a)查询可以输入字符或者字符串b)将包含它们的单词输出c)允许重复d)如果输入查询有空格,当多个处理Ex: 输入ro,应该打印出“microsift”输入”he wr”,则查询两次1.1 不用类实现#include #include #include #inc... 阅读全文
posted @ 2014-07-13 21:03 Monica_Lee 阅读(200) 评论(0) 推荐(0)
摘要: 0.不要试着从C++编译器的角度理解问题,而是从程序的语义着手。1.控制台标准输入输出流的使用1.1IO对象不可复制或者赋值。因此使用IO对象做参数必须使用非const 引用参数(非const因为对IO对象的读写会改变其状态)。1.2当cin输入非法数据时,fail置为1,当cin遇到文件结尾(ct... 阅读全文
posted @ 2014-07-12 20:48 Monica_Lee 阅读(242) 评论(0) 推荐(0)
摘要: 1.C语言内存没有属性,本质就是一段01区域, 没有所谓的类型int, char, float 等等,仅仅表示一段内存空间。上代码。 1 #include 2 #include 3 4 typedef struct tag{ 5 int a; 6 int b; 7 }NODE;... 阅读全文
posted @ 2014-07-10 00:42 Monica_Lee 阅读(240) 评论(0) 推荐(0)