c 中的dynamic_cast和dynamic_pointer_cast
dynamic_cast: 将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。 主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用...
dynamic_cast: 将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。 主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用...
const 与 shared_ptr 注意: 需要c 11的支持 const 与 shared_ptr 之间的组合不是很常见,最多的也只是在传递参数时: shared_ptr
主要参考apue以及std::shared_mutex 1. 何为读写锁 相比互斥锁,读写锁允许更高的并行性,互斥量要么锁住状态要么不加锁,而且一次只有一个线程可以加锁。 读写锁可以有三种状态: 读模式加锁状态; 写模式加锁状态; 不加锁状...
模板函数不能是虚函数,原因如下: 首先呢,模板函数并不是函数,他需要特定的类型去实例化成为函数。你定义一个函数模板,是不生成任何函数的,只有当你用代码去调用它时,才会根据你的类型去实例化成为特定的函数。 而virt...
c 模板:描述 c 提供一种模板的机制来减少代码重复。比如:对于同一样函数使用...
根据上一篇博客中举的数组的例子,这篇博客就对其进行继承,再继承一个模板类出来。 下面程序中的searcharray模板就继承了之前的freearray模板类,然后在他的基础上实现对特定数组元素的查找操作: //此模板继承自freearray...
1,一个普通类的一个成员函数可以成为模板成员函数么? 答案是可以的,实例如下 #include
c 函数模版与类模版。 template
一、new/delete 简介 new 和 delete 是 c 用于管理 堆内存 的两个运算符,对应于 c 语言中的 malloc 和 free,但是 malloc 和 free 是函数,new 和 delete 是运算符。除此之外,...
求二叉树的结点个数 如下利用递归来实现 方法一 根据递归函数实现,如果树不为空,根节点为1 1 统计根节点左子树 2 统计根节点右子树 3 将左子树节点个数 右子树节点个数 根节点个数1=即为整颗树的节点个数 4 统计左右子树的节点个数也是...