- 博客(8)
- 资源 (27)
- 收藏
- 关注
转载 定义宏可以方便地访问stl容器
#define foreach(container,it) \ for(typeof((container).begin()) it = (container).begin();it!=(container).end();++it)使用这个宏,可以方便地访问stl容器。
2017-05-23 14:33:21 372
原创 为包含指针的关联容器指定比较类型
Effective STL读书笔记今天看了一条,写下来当做笔记,其实挺好理解的,也挺简单的为包含指针的关联容器指定比较类型我们知道,当我们创建一个关联容器时,比如set或者map,它会要求 我们指定一个比较函数子类。如果我们不指定就会采用默认的比较函数子类,当然在某些情况下会产生错误。比如下面的代码int main(){ typedefset Strin
2017-05-20 21:28:39 378
原创 变长数组
之前遇到过这个,当时好像也是明白了,但过后就有点忘记了,或者说思路不清,今天有空写了个博客。 考虑以下情况,我们想声明一个结构体SMsg,这个结构体有以下成员。1. msgid ,int型 用来表示这个结构体的id2. buffsize unsigned int 类型,表示这个结构体的缓冲区大小3. buff, 结构体的缓冲区,额,这个声明成什么类型呢???
2017-05-19 19:35:34 1132
原创 c++虚函数
#includeusing namespace std;class C{ public: void funcA(){ cout funcB(); } virtual void funcB()=0; };class B : public C{
2017-05-16 14:45:05 382
原创 linux下通过模板在创建线程时, 在回调函数中调用不同的类方法
template void * sSocketThreadProc( void * param ){ T * p = (T *)param; p->Run(); p->m_dead = true; return 0;}#define CREATE_SOCKET_THREAD(type, param) { \ pthread_
2017-05-13 18:09:39 718
原创 STL中的map使用
set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯一的。map (映射)——经过排序了的二元组的集合,map中的每个元素都是由两个值组成,其中的key(键值,一个map中的键值必须是唯一的)是在排序或搜索时使用,它的值可以在容器中重新获取;而另一个值是该元素关联的数值。 map和set的底层都通过红黑树来实现的,红黑树现在不谈,有机会在整。 map
2017-05-12 10:30:56 609
原创 deque容器和list容器学习
1.deque简介:deque容器同样是一种顺序容器,什么是顺序容器呢?就是你可以了解你的元素的位置,你可以安排你的元素的位置。和vector相比,deque可以实现用常数的时间在容器头部插入元素。同样deque也没有容量的概念,这是因为deque可以动态地增加连续空间,而不需要像vector那样,因为之前的空间不够用,必须重新找一块内存,把数据拷贝过去,然后销毁之前的。虽然deque也提
2017-05-09 20:09:18 962
原创 vector容器学习
1. vector简介vector就是一个动态数组,所谓动态指的是它可以自动对内存进行扩展,一般情况下不存在空间不足的情形,(max_size()函数可以知道vector的可以存的最大数量)。而且,我们还不必要去动态地去费心地内存,这个东西很好用比数组好用多了。所以,只要是用到new T[ ] 来动态分配内存的时候,可以优先考虑使用这个容器。 2.Vector代码解析部
2017-05-08 20:21:32 670
重构_改善既有代码的设计
2017-03-20
Android 4.1 ARM EABI v7a System Image
2016-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人