c++11相关内容
我想用长签名实例化一些函数: template void foo( T& t, SomeType some_parameter, AnotherType another_parameter, EtcType yet_another_parameter, AsYouCanTell this_is_a_very_long_signa
..
我想在我的项目中使用GMock。首先,我编译了GMock和GTest。我的操作顺序(我使用Linux): Git克隆googlemock和googletest 转到git/googletest/googlemock/Build-aux/目录run cmake.. 然后制作 我得到的结果是:libgmock.a和libgmock_main.a My project的结构为:构建、In
..
我有一个C++11头文件,它有一个声明为my_const_value的常量值。以及一个名为GetValue的函数,该函数使用const值运行复杂逻辑并返回期望值。 我想用my_const_value的不同值对GetValue进行单元测试。 我知道这不可取,但为了编写GetValue的单元测试,我希望使用不同的my_const_value值来测试GetValue。在C++中是否有一些类似
..
似乎有两种方法可以临时获取weak_ptr指向的资源的所有权: 使用lock() 将weak_ptr传递给shared_ptr构造函数 这两个函数都产生shared_ptr,在weak_ptr为空的情况下,锁返回nullptr,shared_ptr构造函数抛出异常。 因此,问题是:应该在什么时候使用其中之一?是否有与此相关的一般指导原则或最佳实践? 推荐答案 复制自ht
..
无法理解此操作失败的原因? int *p = new int(10); std::unique_ptr ptr(p); // Below line gives compilation error. std::cout
..
假设我有一个以指针指针为参数的C库API函数。然而,由于我是用C++编程的,所以我想利用STD向量来处理动态内存。如何有效地将向量的矢量转换为指针的指针?我现在正在使用这个。 #include /* C like api */ void foo(short **psPtr, const int x, const int y); int main() {
..
假设我有vector,它的索引在vector中通过类Foo中的关键字字段进行外部排序。例如 class Foo { public: int bar; int other; float f; Foo(int _b, int _o, float _f): bar(_b), other(_o), f(_f) {} }; vector
..
我对编写一些基于AVX内部函数的代码是新手,所以需要一些帮助来理解我的观察结果。我有两个实现距离计算的方法,这两个方法都接受2个浮点数组及其维度,并返回一个浮点距离。第一种方法计算欧几里得距离 static float compute_l2Square(const void *pVect1v, const void *pVect2v, const void *qty_ptr)
..
假设我有一个头文件file_ops.hpp,如下所示 #pragma once bool systemIsLittleEndian() { uint16_t x = 0x0011; uint8_t *half_x = (uint8_t *) &x; if (*half_x == 0x11) return true; else
..
在document处可以看到,有一个演示片段: std::packaged_task task([]{ return 7; }); // wrap the function std::future f1 = task.get_future(); // get a future std::thread t(std::move(task)); // launch on
..
我正在尝试使用C++11和各种模板创建一个资源管理器。问题是如何将std::tuple存储到集合并将其取回?在本例中,我尝试将其存储为VOID*(在此尽量不使用Boost::Any)。每次我转换回std::tuple时,我得到的强制转换的元组与从参数创建的元组相同(CurrentArgs==StoredArgs)。我认为下面的代码解释了一切。 http://ideone.com/h3yzvy
..
我用C++(使用C++11标准)编写代码,我有两个大的内置类型数组,我想根据第一个数组对第二个数组进行排序。 下面是一个例子: A = {1, 5, 4, 3, 6, 2}; B = {1, 2, 3, 4, 5, 6}; 排序后: A = {1, 2, 3, 4, 5, 6}; B = {1, 6, 4, 3, 2, 5}; 就好像每个元素B[i]都附加到元素A[i],您只需
..
我想了解SHARED_PTR如何递增或递减引用计数? #include #include class B; class A { public: std::shared_ptr b_ptr_; }; class B { public: std::shared_ptr a_ptr_; }; void func(st
..
我正在使用Eclipse(3.8.1)CDT编写一个C++程序。我在Debian8上使用的是GCC编译器。我还使用了一个用C++编写的名为opendnp3的开源库,它需要uint32_t进行解析,因为它是几个方法调用和构造函数中的参数。 在opendnp对象中,IntelliSense未列出 __uint32_t但是,确实可以解析。 该类型在中定义(
..
我要使用protocol buffer使用gRPC发送和接收以下类型 std:array, 2> bar_array; 获得创意的来源:1,2 我到目前为止所做的工作 我的方法(我有意省略不必要的代码) proto file syntax = "proto3"; package expcmake; message child
..
class A { public: A(){} private: int i; }; A a[8]; C++11标准8.5.1.1规定: “聚合是一个数组或类(第9条),没有用户提供的构造函数(12.1),非静态数据成员没有大括号或等值初始值设定项(9.2),没有私有或受保护的非静态数据成员(第11条),没有基类(第10条),没有虚函数(10.3)。” 因为a是数
..
我是C++的新手,我正在编写一个实现日期函数的类。 该程序有两个非成员函数bool printDate(const Date& d)和string intToString(const int& n),以及两个用于重载运算符> 朋友函数 指向代码的链接为https://repl.it/NC2H/37 我一直收到类似 的错误 'std::__cxx11::string D
..
在许多情况下,从函数返回LOCAL时,会使用RVO(返回值优化)。然而,我认为显式使用std::move至少会在RVO没有发生时强制移动,但在可能的情况下仍会应用RVO。然而,情况似乎并非如此。 #include "iostream" class HeavyWeight { public: HeavyWeight() { std::cout
..
vector input = {1, 2, 3, 4, 17, 117, 517, 997}; cout input = {1, 2, 3, 4, 17, 1
..
尽管构造函数使用=Default对我来说很清楚(即在存在其他构造函数的情况下强制编译器创建默认构造函数),但我仍然无法理解这两种析构函数的区别: 使用=Default的 未显式定义并由编译器自动生成的。 我唯一想到的是,组1的析构函数可以定义为虚拟的,但组2总是非虚拟的。那么,这是他们之间唯一的区别吗?是否存在编译器不生成析构函数,但使用=Default强制编译器生成析构函数的情况?
..