c++11相关内容

对于单元测试,有没有一种更改const变量的值的黑客方法?

我有一个C++11头文件,它有一个声明为my_const_value的常量值。以及一个名为GetValue的函数,该函数使用const值运行复杂逻辑并返回期望值。 我想用my_const_value的不同值对GetValue进行单元测试。 我知道这不可取,但为了编写GetValue的单元测试,我希望使用不同的my_const_value值来测试GetValue。在C++中是否有一些类似 ..
发布时间:2022-08-26 23:14:43 C/C++开发

Std::Ware_PTR:LOCK或SHARED_PTR构造函数?

似乎有两种方法可以临时获取weak_ptr指向的资源的所有权: 使用lock() 将weak_ptr传递给shared_ptr构造函数 这两个函数都产生shared_ptr,在weak_ptr为空的情况下,锁返回nullptr,shared_ptr构造函数抛出异常。 因此,问题是:应该在什么时候使用其中之一?是否有与此相关的一般指导原则或最佳实践? 推荐答案 复制自ht ..
发布时间:2022-08-26 13:21:02 C/C++开发

将向量的矢量转换为指针的指针

假设我有一个以指针指针为参数的C库API函数。然而,由于我是用C++编程的,所以我想利用STD向量来处理动态内存。如何有效地将向量的矢量转换为指针的指针?我现在正在使用这个。 #include /* C like api */ void foo(short **psPtr, const int x, const int y); int main() { ..
发布时间:2022-08-23 12:40:25 C/C++开发

AVX性能对于按位XOR运算和POP计数较慢

我对编写一些基于AVX内部函数的代码是新手,所以需要一些帮助来理解我的观察结果。我有两个实现距离计算的方法,这两个方法都接受2个浮点数组及其维度,并返回一个浮点距离。第一种方法计算欧几里得距离 static float compute_l2Square(const void *pVect1v, const void *pVect2v, const void *qty_ptr) ..
发布时间:2022-08-17 19:03:27 其他开发

C++模板std::tuple到VOID*并返回

我正在尝试使用C++11和各种模板创建一个资源管理器。问题是如何将std::tuple存储到集合并将其取回?在本例中,我尝试将其存储为VOID*(在此尽量不使用Boost::Any)。每次我转换回std::tuple时,我得到的强制转换的元组与从参数创建的元组相同(CurrentArgs==StoredArgs)。我认为下面的代码解释了一切。 http://ideone.com/h3yzvy ..
发布时间:2022-08-13 22:29:51 C/C++开发

无法解析类型uint32_t&;

我正在使用Eclipse(3.8.1)CDT编写一个C++程序。我在Debian8上使用的是GCC编译器。我还使用了一个用C++编写的名为opendnp3的开源库,它需要uint32_t进行解析,因为它是几个方法调用和构造函数中的参数。 在opendnp对象中,IntelliSense未列出 __uint32_t但是,确实可以解析。 该类型在中定义( ..
发布时间:2022-07-18 13:41:36 Java开发

任何类型的数组都是聚合吗?

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是数 ..
发布时间:2022-06-28 22:31:43 C/C++开发

C++运算符重载和访问私有数据变量

我是C++的新手,我正在编写一个实现日期函数的类。 该程序有两个非成员函数bool printDate(const Date& d)和string intToString(const int& n),以及两个用于重载运算符> 朋友函数 指向代码的链接为https://repl.it/NC2H/37 我一直收到类似 的错误 'std::__cxx11::string D ..
发布时间:2022-06-27 17:26:10 C/C++开发

何时使用=DEFAULT使析构函数成为默认函数?

尽管构造函数使用=Default对我来说很清楚(即在存在其他构造函数的情况下强制编译器创建默认构造函数),但我仍然无法理解这两种析构函数的区别: 使用=Default的 未显式定义并由编译器自动生成的。 我唯一想到的是,组1的析构函数可以定义为虚拟的,但组2总是非虚拟的。那么,这是他们之间唯一的区别吗?是否存在编译器不生成析构函数,但使用=Default强制编译器生成析构函数的情况? ..
发布时间:2022-05-19 12:11:54 C/C++开发