noncopyable相关内容

具有不可复制不可移动元素类型的 C++ 容器

我需要一个既不能复制也不能移动的元素容器.这些元素不是默认可构造的,但它们的构造函数得到相同的参数. 容器的大小在其生命周期内不会改变.它应该像内置数组一样简单,但它的大小是在运行时调用构造函数时确定的. 有没有一种简单的方法来实现它,而无需使用 std::vector> 产生的内存分配和间接开销? 解决方案 这是一个简单但不完整的解决方案,假设每个元素都是用相同的参数构造的. ..
发布时间:2022-01-24 20:40:07 C/C++开发

如何在 V8 中存储持久句柄?

我希望我的班级拥有一个 v8::Context 和一个 v8::External 作为成员.因此,我认为我必须使用持久句柄. class ScriptHelper {上市:ScriptHelper(v8::Persistent 上下文) : 上下文(上下文) {//...}//...私人的:v8::Persistent语境;v8::Persis ..
发布时间:2022-01-20 18:03:21 C/C++开发

boost::noncopyable 的优点是什么

为了防止复制一个类,你可以很容易地声明一个私有的复制构造函数/赋值运算符.但是你也可以继承boost::noncopyable. 在这种情况下使用 boost 的优点/缺点是什么? 解决方案 总结别人的看法: boost::noncopyable 相对于私有复制方法的优势: 它的意图更加明确和描述性.使用私有复制函数是一种比 noncopyable 需要更长的时间才能发现 ..
发布时间:2021-12-24 15:02:31 C/C++开发

使用C ++ 11中显式删除的成员函数,从不可复制的基类继承仍然值得吗?

使用C ++ 11中明确删除的成员函数,仍然值得从不可复制的基类继承吗? 我在说的是,私有地继承具有私有或已删除副本构造函数和副本分配的基类(例如 boost :: noncopyable )。 此问题仍然适用于C ++ 11吗? 我不明白为什么有人认为使类在C ++ 11中不可复制更容易。 在C ++ 03中: 私有: MyClass(const MyClass& ..
发布时间:2020-09-26 21:56:10 C/C++开发

具有不可复制的不可移动元素类型的C ++容器

我需要一个既不可复制也不可移动的元素容器。这些元素不是默认可构造的,但是它们的构造函数具有相同的参数。 容器的寿命不会改变。它应该像内置数组一样简单,但是它的大小是在运行时调用构造函数时确定的。 有没有一种简单的方法可以实现这一点,而不会导致使用 std :: vector> ? 解决方案 在每个元素都假定 ..
发布时间:2020-09-24 19:43:53 C/C++开发

OpenMP是否复制私有对象?

我正在编写一个程序,该程序读取大文件(3x280 GB),并对文件中的数据进行拟合.并行化这样的程序非常方便,而使用OpenMP可以很容易地做到这一点. 我不了解的是OpenMP中如何获取私有变量.众所周知,fstream的对象是不可复制的,并且很直观,这使我无法将其用作私有对象.因此,文件的读者是共享的. 后来我遇到了一些问题,我想到尝试将fstreams设为私有,...猜怎么着?有 ..
发布时间:2020-05-21 01:27:14 C/C++开发

C ++常量值引用

假设我有: 不可复制的A类 B类作为成员,const A& a 一个函数 A GenerateA(); 这是否意味着它应该是有效的: B(GenerateA()) ? 即,const ref是否意味着generateA()返回的A的副本没有被复制?这是否意味着只要B存在,返回的临时的范围就扩展了? 编辑:添加问题的意见: 是可接受的返回A&感谢! 解决方案 ..
发布时间:2016-10-26 22:16:32 C/C++开发

实现提供了拷贝构造函数和赋值运算符

我有一个小小的困惑,其中的实现(编译器)将不提供副本构造函数和副本赋值运算符。 >当我们在类中声明复制ctor和/或复制赋值操作符时。 有人说当我们从一个有私有复制ctor和/或复制赋值操作符的类派生时。 / li> 我对第二种情况有点困惑,是第二种情况正确。 a)不会为你声明它们,所以你会得到编译时错误。 OR b)实现将声明和定义它们,但是当编译器定义的实现尝试找到基 ..
发布时间:2016-10-25 13:53:57 C/C++开发

在QObject派生类中重复Q_DISABLE_COPY

在Qt中有一个宏,它允许声明私有拷贝构造函数和类的赋值运算符: http://qt-project.org/doc/qt-5.0/qtcore/qobject.html#Q_DISABLE_COPY 据说这个宏应该用于所有QObject(特别是QWidget)派生类。 我明白这是如何工作的,为什么它是有用的。 我不明白:原因是在QObject派生类中重复Q_DISABLE_COP ..
发布时间:2016-10-23 22:18:20 C/C++开发

在C ++中插入容器时如何处理非可复制对象

我在寻找处理非可复制对象的最佳实践。 我有一个互斥体类,显然不应该是可复制的。 我添加了一个私人复制构造函数来强制执行。 破坏了代码 - 一些地方只是需要修复,但我有一个通用的问题 其中一个类,使用互斥量作为数据成员或继承,被插入到容器中。 这通常在容器初始化期间发生,因此互斥体尚未初始化,因此确定,但没有副本构造函数,它不工作。 解决方案 这里有三个解决方案: ..
发布时间:2016-10-23 14:10:51 C/C++开发

从messagebox.show弹出C#中选择文本

我一直在寻找对谷歌现在的计算器2小时。必须有什么我只是简单地眺望。有一个简单的方法,使在一个消息文本选择?截至目前,当我调用MessageBox.Show()我不能复制显示的文本。为什么不?如何将我设置文本被复制能够 我的代码: //捕获所有异常 赶上(异常前) { MessageBox.Show(ex.Message); //抛出; } 我希望能够选择出 ..
发布时间:2016-09-29 11:37:19 C#/.NET