摘要:
一、gcc与g++比较 编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是 阅读全文
摘要:
c++bind函数的用法 bind函数: auto newCallable = bind(callable, arg_list); callable依据手册可以是: Callable object (function object, pointer to function, reference to 阅读全文
摘要:
如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。 活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。除了上帝(设它可以改变世间万物的秩序)以外,相 阅读全文
摘要:
一、前言 什么是回调函数?各类语言中都存在回调函数,C语言和C++一系列语言中通过回调机制实现模块化、多态化、不同模块的参数传递。 回调机制,c语言和c++的回调机制主要通过函数指针来实现。 typedef T(*PFuncCallback)(T1 param1,T2 param2); 二、c语言多 阅读全文
摘要:
stack, deque 和 queue这三个c++的STL的数据结构很类似但又各有不同。 stack是堆栈,没有迭代器,特点是后进先出。用push()将元素压入栈中,top()返回栈顶元素,pop()移除栈顶元素。 deque是双端队列,支持迭代器,使用push_back()在队尾添加元素,pop 阅读全文
摘要:
STL中的容器可以分为两大类: 1、顺序容器:list,queue,vector 2、关联容器:map,set(当然对应的有multimap,multiset) 其中vector的存储结构是数组,其它的存储结构是链表。 言归正传,现在看一下vector和set的区别: 首先vector属于顺序容器, 阅读全文
摘要:
set集合是c++ stl库中自带的一个容器,set具有以下两个特点: 1、set中的元素都是排好序的 2、set集合中没有重复的元素 常用操作: begin() 返回set容器的第一个元素的地址 end() 返回set容器的最后一个元素地址 clear() 删除set容器中的所有的元素 empty 阅读全文
摘要:
begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊条目的迭代器对 erase() 删除一个元素 find() 查找 阅读全文
摘要:
map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。 map和set区别在于: (1)map中的元素是key-value 阅读全文
摘要:
在C++中,声明自定义的类型之后,编译器会默认生成一些成员函数,这些函数被称为默认函数。其中包括 (1)(默认)构造函数 (2)拷贝(复制)构造函数 (3)拷贝(复制)赋值运算符 (4)移动构造函数 (5)移动赋值运算符 (6)析构函数 另外,编译器还会默认生成一些操作符函数,包括 (7)opera 阅读全文