c++ 相关问题

C ++是一种通用编程语言。它最初被设计为C的扩展,并保持类似的语法,但现在是一种完全不同的语言。使用此标记来查询有关使用C ++编译器编译的代码的问题。对特定标准版本[C ++ 11],[C ++ 17]等相关问题使用版本特定标记。

我需要遵守五人规则吗?

所以在 https://en.cppreference.com/w/cpp/language/rule_of_ Three 上它说: 因为存在用户定义的(或 = 默认或 = 声明的删除)析构函数、复制构造函数或复制赋值

回答 2 投票 0

std::set<std::unique_ptr<int>> 和 std::views::as_rvalue

我有以下代码,由于某种原因,只有最后一个块不起作用。 我最初认为这可能与 unique_ptr 仅移动或 std::set 具有 const 键有关,但后来它是 unc...

回答 1 投票 0

如何为类模板的成员函数定义显式特化?

我需要将类模板 X 的成员函数专门化为某种类型(假设为 double)。 虽然类 X 本身不是类模板,但它工作得很好,但是当我将其设为模板时,GCC 开始给出...

回答 3 投票 0

在 Ubuntu 16.04 上使用 Intel MKL 编译 R

我通过运行以下命令安装了 Intel MKL 库: # 密钥取自 https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo wget https://apt.repos.intel.com/intel-gpg...

回答 1 投票 0

将可变参数模板参数转换(和操作)为 std::initialise_list

我重新设计了一个功能 void func(std::initializer_list msgList); 进入 void func(std::initializer_list msgList); (优化,减少 strlen 调用)wh...

c++
回答 1 投票 0

在 Windows、VS2K17 上调试构建 mysql-connector C++ 应用程序

我正在尝试在调试模式下运行一个简单的 mysql 连接器(c++)应用程序,但当它到达以下行时似乎失败了(请参阅下面的完整源代码): pstmt = con->prepareStatement(查询)...

回答 1 投票 0

使用基数排序实现 std::sort 重载是否合法?

对于适用的数据类型,良好的基数排序可以大幅击败比较排序,但 std::sort 通常作为 introsort 实现。有没有理由不使用基数排序

回答 2 投票 0

C++:获取临时文件,跨平台

我正在寻找一种跨平台的方式来指定临时文件。例如,在 Linux 中,该目录位于 /tmp 目录中,而在 Windows 中,该目录位于类似于 C:\Users\Username\AppData\Local\T...

回答 7 投票 0

从基类获取类型

假设我们有 派生类:公共 Base1、公共 Base2、...、公共 Base> {}; 如何编写一个从 Derived 获取类型 std::tuple 的类?也许基地需要...

回答 2 投票 0

为什么 unordered_map 和 map 具有相同的性能?

这是我的代码,我的 unordered_map 和 map 的行为相同,并且执行时间相同。我是否遗漏了这些数据结构的某些内容? 更新:我已经根据情况更改了我的代码...

回答 4 投票 0

如何在构造函数中初始化const字段?

想象我有一个 C++ 类 Foo 和一个类 Bar,必须使用构造函数创建一个类,其中传递 Foo 指针,并且该指针在 Bar 实例生命周期中保持不可变...

回答 7 投票 0

使用概念时如何防止 C++ 函数参数的隐式转换?

我正在尝试使用 C++20 概念在多个类上强制执行接口(并且我不想使用纯虚函数)。我遇到的问题似乎是隐式转换...

回答 2 投票 0

Libpq.dll 无效或损坏的文件

我正在使用 Visual Studio 2019,我想将我的服务器项目链接到 postgre 数据库,我已从 dll-files.com 下载了 libpq.dll 文件并将其链接到 VS 项目中,但是当我运行

回答 1 投票 0

如何为具有线程成员的类定义安全复制和移动构造函数和赋值?

在这个类中,我们有一个 std::thread ,它在构造函数中运行,并且可以访问这个类的 _id 。我们如何实现此类的复制和移动构造函数以及赋值? 我的班级 {

回答 1 投票 0

为什么CPU_SET采用整数而不是无符号整数作为第一个参数?

我知道有 CPU_SET(int cpu, cpu_set_t *set) 用于设置核心关联性。根据该函数的签名,我们还可以将负数作为 cpu_id 传递给 CPU 组。你能请...

回答 1 投票 0

如果 unique_ptr 在销毁时释放其指针,我该如何知道指向同一内存的其他指针是否仍然有效?

我目前正在努力理解 unique_ptr 的用途。 我想在其他地方对存储在其中的 std::unique_ptr 组件的内容进行某种引用...

回答 2 投票 0

如何从模板类获取参数值

为了方便起见,我使用 Eigen::Matrix 定义了 1d、2d、3d 和 4d 向量。 命名空间 MyNamespace { 模板 使用 Vec = Eigen::Matrix 为了方便起见,我使用 Eigen::Matrix 定义了 1d、2d、3d 和 4d 向量。 namespace MyNamespace { template <class scalar_t, int dim> using Vec = Eigen::Matrix<scalar_t, dim, 1, Eigen::ColMajor | Eigen::AutoAlign, dim, 1>; typedef Vec<double, 1> Vec1d; // Convenience typedef for 1d vector of doubles. typedef Vec<double, 2> Vec2d; // Convenience typedef for 2d vector of doubles. typedef Vec<double, 3> Vec3d; // Convenience typedef for 3d vector of doubles. typedef Vec<double, 4> Vec4d; // Convenience typedef for 4d vector of doubles. } 然后我定义了一个模板类,它应该能够将维度 dim 存储为可枚举: namespace MyNamespace { /** * A class representing Monomial basis. */ template <typename vec_t> class Monomials { public: typedef vec_t vector_t; ///< Vector type. /// Store dimension of the domain. enum { /** Dimensionality of the domain. */ dim = vec_t::dim }; public: /** * Construct a basis of all monomials */ Monomials(int order){ printf("order: %d", order); printf("dimension: %d", vec_t::dim); // < ------ I want this! }; }; } 但是,这无法编译(可在此处重现:https://godbolt.org/z/ro7fn6o3f) using namespace MyNamespace; int main(){ auto p = Vec2d{0.0, 1.0}; printf("%f, %f\n", p[0], p[1]); auto m = Monomials<Vec2d>(2); return 0; } 相反,我收到一条错误消息 <source>:21:62: error: 'dim' is not a member of 'Eigen::Matrix<double, 2, 1>' 应该如何运作? 我想要的基本上就是获得某种 Vec2d::dim 功能,这将返回给定向量的维度,在本例中为 2。

回答 0 投票 0

JNI:我什么时候应该释放资源?

JNIEXPORT jstring JNICALL Java_com_xxx_xpdf_PdfToText_getTextOnly(JNIEnv *env, jclass obj, jstring pdf_path) { const char *pdf = e...

回答 1 投票 0

返回句柄的await_suspend的标准行为是什么

让Awaiter 在其await_suspend 中返回一个句柄H。 我认为它可以返回任何协程的句柄。 设 C 为等待等待者 (co_await Awaiter) 的协程,接下来会发生什么? 无线...

回答 1 投票 0

有什么方法可以从Linux中未剥离的二进制文件中检索源代码吗?

我正在研究一些C++源代码,不小心我删除了源代码。但我仍然有未剥离的二进制文件。有什么方法可以从未剥离的二进制文件中检索我的源代码....

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.