菜鸟笔记
提升您的技术认知

C++ 笔记 第27页

C++多线程——读写锁shared_lock/shared_mutex

菜鸟阅读 : 3088赞(1)

主要参考APUE以及std::shared_mutex 1. 何为读写锁 相比互斥锁,读写锁允许更高的并行性,互斥量要么锁住状态要么不加锁,而且一次只有一个线程可以加锁。 读写锁可以有三种状态: 读模式加锁状态; 写模式加锁状态; 不加锁状...

error: templates may not be ‘virtual’

菜鸟阅读 : 2545赞(1)

 模板函数不能是虚函数,原因如下:   首先呢,模板函数并不是函数,他需要特定的类型去实例化成为函数。你定义一个函数模板,是不生成任何函数的,只有当你用代码去调用它时,才会根据你的类型去实例化成为特定的函数。 而virt...

c++类模板的继承

菜鸟阅读 : 3230赞(1)

根据上一篇博客中举的数组的例子,这篇博客就对其进行继承,再继承一个模板类出来。 下面程序中的searcharray模板就继承了之前的freearray模板类,然后在他的基础上实现对特定数组元素的查找操作: //此模板继承自freearray...

c++ 类中模版成员函数

菜鸟阅读 : 1983赞(1)

C++函数模版与类模版。 template <class T> void SwapFunction(T &first, T &second){ }//函数模版 template <class T>//...

new/delete 详解

菜鸟阅读 : 5255赞(1)

一、new/delete 简介 new 和 delete 是 C++ 用于管理 堆内存 的两个运算符,对应于 C 语言中的 malloc 和 free,但是 malloc 和 free 是函数,new 和 delete 是运算符。除此之外,...

求二叉树的结点个数

菜鸟阅读 : 3967赞(1)

求二叉树的结点个数 如下利用递归来实现 方法一 根据递归函数实现,如果树不为空,根节点为1 1 统计根节点左子树 2 统计根节点右子树 3 将左子树节点个数+右子树节点个数+根节点个数1=即为整颗树的节点个数 4 统计左右子树的节点个数也是...

STL中list的使用

菜鸟阅读 : 3264赞(1)

list的底层结构 list底层是一个带头节点的双向循环链表,任意位置插入和删除时间复杂度0(1) list迭代器 由于list底层是带头节点的双向循环链表,因此list的迭代器需要list的实现者自己提供 迭代器怎么实现呢? 迭代器的本质...

C++面试知识点

菜鸟阅读 : 2585赞(1)

strcpy函数实现 char* strcpy(char* dest, const char* src){ assert((dest != NULL) && (src != NULL)); //检查指针的有效性 char* ...