c++ 相关问题

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

使用 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE

我正在 Visual Studio 2019 上构建并使用 nlohmann json.hpp 并得到这个编译器错误: C2679 二进制“=”:找不到采用“const TestClass1”类型右侧操作数的运算符(或 t...

回答 1 投票 0

C++ 中的一个线性元组/对解包,多次重用相同变量

我已经看到是否有一个单行代码可以将元组/对解压到引用中?并知道如何将元组/对中的值解压到单行中,如下所示 auto [有效性,表] =

回答 1 投票 0

C++ 虚函数不重写

#包括 使用命名空间 std; 类字符{ 私人的: 民众: 字符(字符串 n,int h,int a){ } 虚拟 int getHealth() = 0; 虚拟 int getAttack() = 0; 虚拟...

回答 1 投票 0

当我尝试将两个指针的差异与其数据类型的大小相除时,出现意外的输出

我遇到了一个C++片段: #包括 #包括 使用命名空间 std; int main() { 向量 f(2); 浮动 *p1 = f.data(), *p2 = p1 + 1; 计算<< ...

回答 2 投票 0

为什么这个获取和释放内存栅栏没有给出一致的值?

我只是在探索获取和释放内存栅栏的使用,不明白为什么我有时会将值输出为零而不是始终为 2 我运行了该程序多次...

回答 4 投票 0

字符串构造函数将两个 char* 放入另一个 std::string 在 c++14 中有效,但在 c++17 中无效

以下程序尝试使用第一个字符串和指向第一个字符串中间的指针构造第二个字符串: #包括 int main() { std::string src = "你好

回答 2 投票 0

为什么 stoi 比没有 -O3 的 stringstream 慢很多?

今天我谈论的是 C++11 中的新闻特性,例如线程、to_string 和 stoi。 但事实上,这一切在 C++98 中已经成为可能。 然后我决定将旧库与新闻库进行比较...

回答 2 投票 0

将 C++ 枚举导入 C#

我目前正在创建一个新的 C# 项目,该项目需要与旧的 C++ 应用程序进行交互。 C++ 应用程序中已存在一个错误枚举,我需要在 C...

回答 5 投票 0

后续用C++11定义相关数据时如何使用decltype?

如何让下面的代码片段在不先写成员变量的情况下用C++11编译?在成员函数之前写成员变量看起来很难看。 #包括 民主党班级...

回答 1 投票 0

有没有办法为指针和数组提供单独的模板函数重载?

首先,我想特别强调C++20标签,因为我相信使用概念和require语句来解决这个问题要容易得多。 其次,当我在这里说数组时,我的意思是......

回答 1 投票 0

减法、浮动和duration_cast [重复]

假设我们有一个以纳秒为单位的时间戳,我们需要从中减去 2.5 秒。所以我创建了这样的代码: 纳秒 current_ts{1645546551805673592}; 漂浮...

回答 1 投票 0

C++ ASAN 启动分解声明

我做了一个leetcode问题,对于以下解决方案,ASAN正在努力: 类解决方案{ 民众: 矢量 rightSideView(TreeNode* root) { if (root == nullptr) 返回向量 我做了一个leetcode问题,对于以下解决方案,ASAN正在努力: class Solution { public: vector<int> rightSideView(TreeNode* root) { if (root == nullptr) return vector<int>(); int ans[205]; memset(ans, -1, sizeof ans); queue<pair<TreeNode*,int>> q; int ml = 0; q.push({root, 0}); while(!q.empty()) { const auto &[node, level] = q.front(); q.pop(); ml = max(ml, level); if (ans[level] == -1) ans[level]=node->val; if (node->right != nullptr) q.push({node->right, level+1}); if (node->left != nullptr) q.push({node->left, level+1}); } return vector<int>(ans,ans+ml+1); } }; 如果我将 const auto &[node,level]=q.front();q.pop(); 替换为正常的 auto pair=q.front();node=pair.first,level=pair.second;,效果很好。谁能帮助我理解上述解决方案中发生了什么? const auto &[node,level]=q.front();q.pop(); 您获得对前节点的引用,然后立即销毁获得悬空引用的节点。将 q.pop(); 移动到循环体末端。

回答 1 投票 0

具有相同底层实现的不同类型

我想创建不同的类型A、B和C。所有这三种类型共享相同的功能(它们的公共功能具有相同的实现),但这三种类型需要不同...

回答 1 投票 0

C++ 迭代器在类中使用链表的 getter 时出现分段错误

#包括 #包括 使用命名空间 std; A类{ 私人的: 列出数据; 民众: A(列表数据_){数据=数据_;} 列表

c++
回答 1 投票 0

在C++中导入C单头库

我想将 C 单头库包含到我的 C++ 代码中。 C 标头库具有与 C++ 不兼容的代码。如何实现这一目标? 主抄送: 外部“C”{ #include“单身他...

回答 1 投票 0

Leap Frog Integration 模拟地球绕太阳运行的问题

我一直在尝试对地球绕太阳运行的系统实现Leap Frog积分: #包括 #包括 #包括 使用命名空间 std; #

回答 1 投票 0

带有结构成员的 C++ 联合结构适用于 Clang 和 MSVC,但不适用于 GCC

我正在尝试定义一个联合结构,其中一些结构和原始成员在内存中与一个简单的数组重叠。这在 Clang 和 MSVC 中完美运行,但不能用 GCC (G++) 编译。

回答 2 投票 0

如果编译器是MSVC,是否有定义的预处理器定义?

所以我可以做类似的事情 #ifdef MSVC //这里做编译器特定的代码 #结束

回答 5 投票 0

为什么在wsl中编译连接动态库失败?

我不确定是什么原因造成的。我恳请您的帮助,我将不胜感激。 环境:wsl ubuntu18.0.4 以下是头文件: 命名空间 json2pb { //模式:_Zxxx_ /...

回答 1 投票 0

io_uring如何实现异步读取?

最近,我一直在尝试将异步读取合并到现有功能中,并想到了 io_uring。我阅读了互联网上的文档,并得到了 io_uring 产生的印象......

回答 1 投票 0

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