问题标签 [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 投票
15 回答
517610 浏览

c++ - 如何在 C++ 中创建静态类?

如何在 C++ 中创建静态类?我应该能够做类似的事情:

假设我创建了这个BitParser类。BitParser类定义会是什么样子?

0 投票
10 回答
56622 浏览

c++ - 任何生成makefile的好工具?

我正在寻找一种工具,它可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile。

0 投票
3 回答
808 浏览

c++ - 播放波形文件立即结束 (C++, Windows)

我有以下情况。在一台机器上有一个Fritz ISDN卡。有一个进程负责在此设备的波形输出上播放某个波形文件(ISDN连接在启动时建立并保持不变)。这个场景很简单,只要需要,进程就会调用waveOutWrite()先前打开的 wave 设备(一切都初始化了,当然没有任何问题),并且回调函数等待MM_WOM_DONEmsg 知道播放已经完成。

然而,几天后(过程和机器都没有改变)MM_WOM_DONE消息在调用后立即出现,waveOutWrite()即使波持续了几秒钟。再次没有报告错误,看起来文件已播放但长度为零(事实并非如此)。我也确信waveOutReset()我的进程没有调用它(它也会触发发送提到的消息)。过去我曾经遇到过一些奇怪的问题,只需重新安装TAPI驱动程序即可解决。这次由于某种原因,我再次执行该操作是有问题的,我正在尝试更多的分析方法:)。有什么建议可能导致这种行为吗?也许在ISDN线路的另一端有什么东西?

0 投票
2 回答
2259 浏览

c++ - 验证 Win32 窗口句柄

给定一个类型的句柄,HWND是否可以确认该句柄代表一个真实的窗口?

0 投票
3 回答
17307 浏览

c++ - 泛型迭代器

我正在尝试找到一种访问一组容器的通用方法。除了另一个自定义列表之外,我还有一个标准向量和列表。

自定义列表定义了一个迭代器;

适当的运算符重载。

理想情况下,我想这样做;

但显然这些都是不同类型的迭代器。但是,我可以假设所有容器都是同一类型。

有没有优雅的方法来解决这个问题?

0 投票
6 回答
3621 浏览

c++ - 从 Windows 标题栏中删除图标而不放弃关闭按钮或系统菜单?

我正在开发一个 MFC 应用程序,我最近一直在寻找一种从 Windows 标题栏中删除图标但保留关闭按钮的好方法。两个明显的候选解决方案是关闭系统菜单样式或使用工具窗口样式,但我不希望禁用系统菜单或使用缩小的工具窗口标题栏。许多 MFC 应用程序都有这个功能,所以我想知道:我是否缺少一些标准的方法?

0 投票
5 回答
23035 浏览

c++ - 关于在 C++ 项目中使用 emacs 有什么好的建议吗?

我正在寻找一篇关于将 emacs 用作 C/C++ IDE 的好文章。

类似于 Steve Yegge 的“Effective emacs”

0 投票
6 回答
4111 浏览

c# - 面向未来的大型 UI 应用程序 - 带有 2008 功能包的 MFC,还是 C# 和 Winforms?

我的公司开发了一个长期使用的产品,它使用 Visual C++ 中的 MFC 作为 UI 开发的事实标准。我们的代码库包含大量必须保持可操作的遗留/过时代码。其中一些代码比我更老(最初是在 70 年代后期编写的),我们团队的一些成员仍在使用 Visual Studio 6。

然而,值得庆幸的是,内部得出的结论是,与竞争对手的产品相比,我们的产品看起来有些过时,需要做点什么。

我目前正在开发 UI 的一个新区域,该区域与产品的其余部分完全不同。因此,我有机会在 UI 其余部分的漫长过程开始之前尝试“新”技术堆栈作为一种试验场。

我在业余时间一直在使用 C# 与 Windows 窗体和 .net 框架并享受它,但有点担心互操作带来的头痛。虽然 UI 的这个特定分支不需要与传统 C++ 代码库进行太多互操作,但我可以预见这将成为未来的一个问题。

另一种方法是继续使用 MFC,但尝试利用 VS2008 附带的新功能包。我想这是最简单的选择,但我担心长寿而不是利用 .net 的优点......

那么,我该选哪个?我们是一个小团队,所以我的建议很可能会被接受为我们未来的发展方向——我想把它做好。

MFC死了吗?C#/Winforms 是前进的方向吗?还有什么我完全想念的吗?非常感谢帮助!

0 投票
9 回答
9528 浏览

c++ - 如何防止在堆上创建对象?

有谁知道我可以如何在独立于平台的 C++ 代码中阻止在堆上创建对象?也就是说,对于“Foo”类,我想阻止用户这样做:

并且只允许他们这样做:

有没有人有任何想法?

干杯,

0 投票
8 回答
7395 浏览

c++ - 我应该如何对代码生成器进行单元测试?

我知道这是一个困难且开放式的问题,但我想我会把它扔到地板上,看看是否有人有任何有趣的建议。

我开发了一个代码生成器,它将我们的 python 接口与我们的 C++ 代码(通过 SWIG 生成)相结合,并生成将其公开为 WebServices 所需的代码。当我开发这段代码时,我是使用 TDD 完成的,但我发现我的测试非常脆弱。因为每个测试本质上都想验证对于给定的输入代码位(恰好是 C++ 标头)我会得到给定的输出代码位我编写了一个小引擎,它从 XML 输入文件中读取测试定义并生成测试来自这些期望的案例。

问题是我根本不敢修改代码。那以及单元测试本身是a:复杂和b:脆弱的事实。

所以我试图想出解决这个问题的替代方法,这让我感到震惊,我可能是以错误的方式解决它。也许我需要更多地关注结果,IE:我生成的代码是否真正运行并执行我想要的操作,而不是代码看起来像我想要的那样。

有没有人有类似的经历,他们愿意分享?