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

C++ 笔记

cc、gcc、g++、CC的区别概括

菜鸟阅读 : 232赞(0)

gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点...

C++中的dynamic_cast和dynamic_pointer_cast

菜鸟阅读 : 227赞(0)

dynamic_cast: 将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。 主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用...

const 与 shared_ptr

菜鸟阅读 : 160赞(0)

const 与 shared_ptr 注意: 需要c++11的支持 const 与 shared_ptr 之间的组合不是很常见,最多的也只是在传递参数时: shared_ptr<int> func(const shared_pt...

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

菜鸟阅读 : 162赞(0)

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

error: templates may not be ‘virtual’

菜鸟阅读 : 181赞(0)

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

c++类模板的继承

菜鸟阅读 : 175赞(0)

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

c++ 类中模版成员函数

菜鸟阅读 : 154赞(0)

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

new/delete 详解

菜鸟阅读 : 156赞(0)

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