5
|
Lars Nielsen · 技术社区 · 7 年前 |
![]() |
1
14
为了复制包含 互斥体 您必须编写自定义 复制构造函数 和 复制分配运算符 . 您不需要复制 互斥体 复制对象,因为 互斥体 不是对象的一部分 价值 ,它只是一种保护访问的工具。 复制时,的互斥体 二者都 需要使用对象来保护 值成员 在复制过程中。 例如:
也可以为编写类似的函数 移动 对象。
如果你有
|
![]() |
2
1
您的类可能包含一个互斥体作为成员,但您的类自动不可复制,因为互斥体不可复制,而互斥体现在是类的一部分。 所以,无论您在哪里复制类(在您没有向我们展示的代码中),都不能再这样做了。 出于同样的原因,您的类现在也不可移动。 如果这是一个问题,您可以将互斥锁隐藏在共享指针之类的东西后面。然而,我会担心共享指针的同步,所以尽量不要… |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |