问题标签 [c++11]

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 投票
23 回答
524753 浏览

c++ - 是否可以在标准 C++ 中打印变量的类型?

例如:

预期输出:

0 投票
17 回答
103510 浏览

c++ - 检查一个类是否具有给定签名的成员函数

我要求一个模板技巧来检测一个类是否具有给定签名的特定成员函数。

这个问题类似于这里引用的问题 http://www.gotw.ca/gotw/071.htm 但不一样:在 Sutter 的书中,他回答了一个类 C 必须提供一个成员函数的问题一个特定的签名,否则程序将无法编译。在我的问题中,如果一个类具有该功能,我需要做一些事情,否则做“其他事情”。

boost::serialization 也面临类似的问题,但我不喜欢他们采用的解决方案:一个模板函数默认调用具有特定签名的自由函数(您必须定义),除非您定义特定的成员函数(在他们的情况下,“序列化”采用给定类型的 2 个参数)具有特定签名,否则会发生编译错误。那就是实现侵入式和非侵入式序列化。

我不喜欢这个解决方案有两个原因:

  1. 为了非侵入性,您必须覆盖 boost::serialization 命名空间中的全局“序列化”函数,因此您可以在您的客户代码中打开命名空间提升和命名空间序列化!
  2. 解决这个混乱的堆栈是 10 到 12 个函数调用。

我需要为没有该成员函数的类定义自定义行为,并且我的实体位于不同的命名空间中(并且我不想在另一个命名空间中覆盖在一个命名空间中定义的全局函数)

你能给我一个提示来解决这个难题吗?

0 投票
14 回答
660513 浏览

c++ - 什么是智能指针,我应该什么时候使用它?

什么是智能指针,我应该什么时候使用它?

0 投票
23 回答
3358 浏览

c++ - 你最喜欢的 C++0x 特性是什么?

正如我们许多人所知(还有很多人不知道),C++ 目前正在为国际标准的下一次修订进行最终起草,预计将在大约 2 年内发布。草案和文件目前可从委员会网站获得。正在添加各种新功能,其中最大的是概念和 lambda。有一篇非常全面的Wikipedia 文章,其中包含许多新功能。GCC 4.3 及更高版本实现了一些 C++0x 特性

就新功能而言,我真的很喜欢类型特征(和适当的概念),但我的明确领导者是可变参数模板。在 0x 之前,长模板列表通常都涉及到 Boost Preprocessor,而且写起来很不爽。这使事情变得更容易,并允许将 C++0x 模板视为使用可变参数模板的完美功能语言。我已经用它们编写了一些非常酷的代码,我迫不及待地想更频繁地使用它们!

那么您最期待的功能是什么?

0 投票
12 回答
64922 浏览

c++ - Visual Studio 是否支持新的 C/C++ 标准?

我一直在阅读有关 C99 和 C++11 以及所有这些完全甜蜜的东西,它们被添加到语言标准中,将来可能会很好用。然而,我们目前在 Visual Studio 中编写 C++ 的土地上苦苦挣扎。

标准中的任何新内容是否会被添加到 Visual Studio 中,或者微软是否更有兴趣添加新的 C# 变体来做到这一点?

编辑:除了接受的答案之外,我还找到了 Visual C++ 团队博客:

http://blogs.msdn.com/vcblog/

具体来说,其中的这篇文章:

https://web.archive.org/web/20190109064523/https://blogs.msdn.microsoft.com/vcblog/2008/02/22/tr1-slide-decks/

很有用。谢谢!

0 投票
16 回答
189355 浏览

c++ - 为什么 C++ 没有垃圾收集器?

我之所以问这个问题,首先是因为垃圾收集的优点。我问这个的主要原因是我知道 Bjarne Stroustrup 说过 C++ 将在某个时间点有一个垃圾收集器。

说了这么多,怎么还没加呢?已经有一些用于 C++ 的垃圾收集器。这只是那些“说起来容易做起来难”的事情之一吗?还是有其他原因没有添加(并且不会在 C++11 中添加)?

交叉链接:

澄清一下,我理解 C++ 在首次创建时没有垃圾收集器的原因。我想知道为什么无法添加收集器。

0 投票
7 回答
6774 浏览

c++ - 在哪里可以了解有关 C++0x 的更多信息?

我想了解更多关于 C++0x 的信息。有哪些好的参考资料和资源?有没有人写过一本关于这个主题的好书?

0 投票
7 回答
42997 浏览

c++ - 并发编程C++?

我不断听到有关并发编程的消息。你们能否阐明它是什么以及 c++ 新标准如何促进做同样的事情?

0 投票
6 回答
3422 浏览

c++ - C++0X 什么时候?

可能重复:
C++0x 何时完成?

关于 C++0X 的最新消息是什么?(或者我应该说 C++1X)任何发布日期已经确定了吗?

0 投票
16 回答
14675 浏览

c++ - C++ 中的垃圾收集——为什么?

我一直听到人们抱怨 C++ 没有垃圾收集。我还听说 C++ 标准委员会正在考虑将其添加到该语言中。恐怕我只是不明白它的意义......使用带有智能指针的 RAII 消除了对它的需要,对吧?

我唯一的垃圾收集经验是在几台便宜的 80 年代家用电脑上,这意味着系统每隔一段时间就会死机几秒钟。我确信从那以后它已经有所改善,但正如你所猜想的那样,这并没有让我对它有很高的评价。

垃圾收集可以为经验丰富的 C++ 开发人员提供哪些优势?