将此标记用于必须编译为C ++ 11的代码(不使用C ++ 14或更高版本中引入的任何功能)。
在此代码中,On_heap 是管理堆上对象的包装器。是否必须删除此处的移动构造函数和赋值? 模板 结构On_heap { On_heap() :p(new T) { } //
我不完全理解为什么我们不总是使用std::move? 例子; std::map 测试; void foo(std::map& 测试, int t1, int t2) { test.emplace(std::move(t1), s...
当我使用stl时,我发现不可分配的类型不允许作为容器的组件。 但是 CopyAssignable 概念确实很难掌握/理解,这需要深入研究
调用时出错:指定类型的对象过多 (PJ_ETOOMANY) [状态=70010]
我在我的 C++ 应用程序中使用 PJSIP 库来测试调用。当我尝试拨打超过 4 个电话时,我收到错误:太多指定类型的对象 (PJ_ETOOMANY) [status=70010]
为什么抛出移动构造函数会导致复制而不是在给出强异常保证的情况下移动?
我到处都看到,当移动构造函数为 noexcept(false) 时,标准库必须调用复制构造函数而不是移动构造函数。 现在我不明白...
错误:与“operator<<' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>”}和“void”不匹配)| [重复]
这是我的代码。我已经经历过很多次了,做了很多改变仍然是同样的错误。 #包括 使用命名空间 std; 无效 checkAge(int 年龄){ 如果(年龄 >= 18){ ...
错误:与“operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}”和“void”不匹配)
这是我的代码(我只写了本质),我得到了这个: 错误:与“operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream}’ and ‘void’) class Mobil { public: void...
哪个模板实际上是用于使用pointer = typename _Ptr<_Tp, _Dp>::type;对于不同的条件?
下面的代码见unique_ptr.h 模板 类 __uniq_ptr_impl { 模板 结构_Ptr {
我正在阅读 Scott Meyers 的《Effective C++》一书。有人提到,有 tr1::shared_ptr 和 tr1::weak_ptr 的作用类似于内置指针,但它们跟踪有多少个 tr1::shared_ptr 指向...
按照此答案中给出的建议,我在简单的 Point 类中重载了 + 运算符,如下所示( += 重载工作正常)。 点运算符+ (Point p1, const Point& p2) { ...
在这个类中,我们有一个 std::thread ,它在构造函数中运行,并且可以访问这个类的 _id 。我们如何实现此类的复制和移动构造函数以及赋值? 我的班级 {
这样的情况下有没有潜在的问题? 我的项目使用g++11.4编译,而我无法控制的所需动态库则使用g++8.2编译。
为什么编译器会抱怨 `std::enable_if<is_allowed_type<T>::value>::type*=nullptr`?
我不明白为什么 std::enable_if::value>::type*=nullptr 不起作用,同时 std::enable_if::value>::type* =nullptr 效果很好。
我正在构建一个控制台应用程序,其中仅使用智能指针。我选择只使用智能指针来了解何时使用哪个智能指针。在此应用程序中,我正在尝试...
使用`std::greater`通过`priority_queue`创建最小堆的原因
我想知道为什么要使用priority_queue创建最小堆,应该使用std::greater? std::priority_queue,std::greater > min_heap; 对我来说,...
从 std::deque 复制到推力 device_vector
我正在尝试制作一个示例代码,从 std::deque 复制到推力::device_vector,但编译器警告不允许从 __host__ __device__ 函数调用 __host__ 函数(我...
std::atoi() 和 std::stoi 有什么区别?
atoi 和 stoi 有什么区别? 我知道, std::string my_string = "123456789"; 为了将该字符串转换为整数,您必须执行以下操作: const char* my_c_string =
我正在制作一个C++程序来存储员工的数据,如姓名、ID、销售额、佣金金额并计算收入(销售额*佣金)。我正在使用继承的概念。我的基类是“Em...
我为 C++11 编写了一个小型实用程序类,我将其用作范围保护,以便更轻松地处理异常安全和类似的事情。 看起来有点像黑客。但我很惊讶我没有看到它