问题标签 [c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7907 浏览

c# - 将 Stream 数据映射到 C# 中的数据结构

有没有办法将流或数组上收集的数据映射到数据结构,反之亦然?在 C++ 中,这只是将指向流的指针转换为我想要使用的数据类型(反之亦然)的问题,例如:在 C++ 中

显然,除非您在读取传入数据时确定流数据的质量,否则 C++ 方式是非常不安全的,但是对于传出数据来说,超级快速和简单。

0 投票
15 回答
83290 浏览

php - 适用于 Linux 的轻量级 IDE

即使我有一台功能强大且速度快的计算机(具有 2Gb RAM 的奔腾双核 2.0),我也一直在寻找轻量级的软件来安装它,因此即使许多应用程序同时启动并运行,它也能快速运行。

在过去的几周里,我一直在逐渐迁移到 Linux,并想安装一个免费的轻量级但有用的 IDE,以便在 C++ 和 PHP 上编程。语法高亮和代码完成提示是必备的。

0 投票
10 回答
13199 浏览

java - 如何配置串行端口并与之通信?

我需要通过串行连接(RS-232 和 RS-422)发送和接收数据。

如何设置这种连接并与之通信?我如何弄清楚配置设置(例如波特率)应该是什么以及如何设置它们?

特别是,我希望在 Java、C/C++ 或主要的 Unix shell 之一中执行此操作,但我也对使用 Windows/Hyperterminal 进行串行编程感兴趣。

0 投票
12 回答
61235 浏览

c++ - 如何为 Visual Studio C++ 设置单元测试

我无法弄清楚如何在Visual Studio 2008中设置和使用测试框架,C++可能与内置的单元测试套件一起使用。

任何链接或教程将不胜感激。

0 投票
6 回答
32764 浏览

c++ - 你如何打包一个 Visual Studio C++ 项目来发布?

我想知道如何制作一个包含所有必要 dll 文件到 .exe 的发布版本,这样程序就可以在非开发机器上运行,而不必在目标机器上安装微软可再发行组件。

如果不这样做,您将收到应用程序配置不正确的错误消息并重新安装。

0 投票
3 回答
27819 浏览

c++ - 用于从 USB MIDI 设备读取 MIDI 信号的 C/C++ 库

我想编写从 MIDI 设备获取输入的 C/C++ 程序。

MIDI 设备使用 USB 连接器连接到我的 PC。

我正在寻找一个(C/C++ 实现的)库,我可以使用它通过 USB 端口从 MIDI 设备读取 MIDI 信号。

我很乐意在获得 MIDI 数据后对其进行操作,我只是不想实现捕获它的代码。

我打算在 Windows XP 上使用 Bloodshed Dev-C++ IDE 编写我的代码。

0 投票
11 回答
52301 浏览

c++ - 在 C++ 中创建稀疏数组的最佳方法是什么?

我正在研究一个需要处理巨大矩阵的项目,特别是用于 copula 计算的金字塔求和。

简而言之,我需要在矩阵(多维数组)中的大量零中跟踪相对少量的值(通常为 1,在极少数情况下超过 1)。

稀疏数组允许用户存储少量值,并将所有未定义的记录假定为预设值。由于物理上不可能将所有值存储在内存中,因此我只需要存储少数非零元素。这可能是几百万个条目。

速度是重中之重,我还想在运行时动态选择类中变量的数量。

我目前在一个使用二叉搜索树(b-tree)来存储条目的系统上工作。有人知道更好的系统吗?

0 投票
28 回答
84274 浏览

c++ - 理解指针的障碍是什么,可以做些什么来克服它们?

为什么指针对于许多 C 或 C++ 的新的甚至是老的大学生来说是一个如此混乱的主要因素?是否有任何工具或思维过程可以帮助您了解指针如何在变量、函数和其他级别上工作?

有哪些好的实践可以让某人达到“啊哈,我明白了”的水平,而不会让他们陷入整体概念中?基本上,像场景一样钻取。

0 投票
5 回答
1247 浏览

c++ - 链接问题 (VC6)

我打开了一个旧工作区,它是一个库及其测试工具。它过去可以正常工作,但现在不能,旧版本的代码也不能正常工作,出现相同的错误。我试过重新创建项目,这也会导致同样的错误。项目设置中似乎没有任何问题,并且生成的代码在主应用程序中有效。

我已经删除了大部分文件并将其降至最低限度以生成错误。不幸的是,我无法发布该项目,因为它用于生产代码。

我得到的 LNK2001 链接器错误通常意味着我已经离开了一个库或忘记实现一个虚函数。然而,这是标准模板库的一部分 - 并且是一个标题。

在 IOCompletionPort.obj 中列为有问题的代码实际上并没有std::string直接使用,而是调用了一个类:Comms::Exception接受 astd::stringGetLastErroror的值WSAGetLastError

错误()中提到的函数GetMessage已实现,但它是一个虚函数,因此其他类可以在需要时覆盖它。但是,编译器似乎已将其作为 Ansi 版本,但我在设置中找不到任何可以控制它的选项。我怀疑这可能是问题所在,但由于图书馆的选择方式很少,我无法确定。但是,这两个项目都在编译器选项中指定 _MBCS。

--------------------配置:TestComms - Win32 调试--------------------链接... Comms.lib(IOCompletionPort.obj):错误 LNK2001:无法解析的外部符号“公共:虚拟类 std::basic_string,class std::allocator > __thiscall Comms::Exception::GetMessageA(void)const”(?GetMessageA@ Exception@ Comms@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) Debug/TestComms.exe : 致命错误 LNK1120: 1 unresolved externals 执行错误链接.exe。

TestComms.exe - 2 个错误,0 个警告

有什么建议么?我早上的大部分时间都为此而迷失,也不想下午的大部分时间都迷失。

0 投票
9 回答
26328 浏览

c++ - C++ 中单例的线程安全惰性构造

有没有办法在 C++ 中实现单例对象:

  1. 以线程安全的方式懒惰地构造(两个线程可能同时是单例的第一个用户 - 它仍然应该只构造一次)。
  2. 不依赖于预先构造的静态变量(因此在构造静态变量期间单例对象本身可以安全使用)。

(我不太了解我的 C++,但是在执行任何代码之前是否初始化了整数和常量静态变量(即,甚至在执行静态构造函数之前 - 它们的值可能已经在程序中“初始化”了)图像)?如果是这样 - 也许可以利用它来实现单例互斥锁 - 这又可以用来保护真正单例的创建..)


太好了,看来我现在有几个很好的答案(很遗憾我不能将 2 或 3 标记为答案)。似乎有两种广泛的解决方案:

  1. 使用 POD 静态变量的静态初始化(与动态初始化相反),并使用内置原子指令实现我自己的互斥锁。这是我在问题中暗示的解决方案类型,我相信我已经知道了。
  2. 使用其他一些库函数,例如pthread_onceboost::call_once。这些我当然不知道 - 并且非常感谢发布的答案。