C++11:基于std::queue和std::mutex构建一个线程安全的队列 C++中的模板std::queue提供了一个队列容器,但这个容器并不是线程安全的,如果在多线程环境下使用队列,它是不能直接拿来用的。 基于它做一个线程安全的队列也并不复杂。基本的原理就是用std::mutext信号量对 ...
分类:
编程语言 时间:
2019-12-18 23:22:46
阅读次数:
130
1. c++结构体(struct)的成员可以有数据成员和成员函数 正确,因为struct可以被视作一个只有public的class 所以可以有数据成员和成员函数 2. c++类中的所有成员函数都有一个隐含的形式参数this指针。 错误,因为静态的成员函数没有this指针 3. 类的静态数组成员在主函 ...
分类:
编程语言 时间:
2019-11-04 19:53:49
阅读次数:
253
C++中的构造函数 c++中的构造函数分为构造函数,和复制构造函数,相比于构造函数,复制构造函数使用更加方便,快捷。构造函数可以有多个,二复制构造函数只能有一个,因为复制构造函数的参数只能是当前类的一个对象,参数表是固定的,无法重载,若用户没有定义自己的辅助构造函数,系统会自动生成一个复制构造函数, ...
分类:
编程语言 时间:
2019-09-23 13:37:56
阅读次数:
118
1、容器的基本要求 a、并非所有的数据都可以放进容器当中。各种容器模板对所存数据类型都有一个基本要求——可复制构造。将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程。 b、容器中必须有若干与所存数据类型有关的嵌套定义类型。 C::value_type 容器所存数据类型 ...
分类:
编程语言 时间:
2019-09-14 12:00:26
阅读次数:
180
类和动态内存分配 整理自《C++ Primer Plus》 1. 动态内存和类 + 静态类成员有一个特点:无论创建了多少对象,程序都只创建一个静态类变量副本。也就是说,类的所有对象共享同一个静态成员。静态数据成员在类声明中声明,在包含类方法的文件中初始化。 + 复制构造函数用于将一个对象复制到新创建 ...
分类:
其他好文 时间:
2019-09-09 22:37:57
阅读次数:
100
System类主要用于:计算代码的执行时间 进行垃圾收集操作 src -源阵列。srcPos -源数组中的起始位置。dest -目标数组。destPos在目标数据的起始位置。length -数组元素的数目被复制。 构造方法是留给对象初始化时使用的,而finalize()方法留给对象回收前使用的。 ...
分类:
编程语言 时间:
2019-08-09 13:44:48
阅读次数:
123
一、default和delete关键字 (一)编译器提供的“缺省函数” 1.类的成员函数:构造/析构函数、复制构造/复制赋值函数、移动构造/移动赋值函数。 2. 类的全局默认操作函数:operator new/delete、operator,、operator*、operator->、operato ...
分类:
其他好文 时间:
2019-08-02 00:14:40
阅读次数:
121
8.1.1栈展开 抛出异常时,将暂停当前函数的执行,开始查找匹配的catch子句。首先检查throw本身是否在try块内部,如果是,检查与该try相关的catch子句,看是否可以处理该异常。如果不能处理,就退出当前函数,并且释放当前函数的内存并销毁局部对象,继续到上层的调用函数中查找,直到找到一个可 ...
分类:
其他好文 时间:
2019-06-09 00:10:34
阅读次数:
131
#pragma oncetemplate<typename T>class smart_pointer{private: T* m_pRawPointer;public: smart_pointer(T* pData) :m_pRawPointer(pData) {} //复制构造函数 smart_ ...
分类:
其他好文 时间:
2019-06-08 20:31:24
阅读次数:
127
``` // // main.cpp // 运算符重载(Overloading) // 默认复制构造函数(Default Copy Constructor) // Created by mac on 2019/4/29. // Copyright ? 2019年 mac. All rights re ...
分类:
其他好文 时间:
2019-05-02 21:33:21
阅读次数:
115