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

c++ - C++0x 标准如何定义 C++ Auto 多重声明?

嗯,我对即将到来的 C++0x 标准中的多个自动声明有点困惑。

我读过的地方是不允许的。原因是(?),因为不清楚连续声明是否应该与第一个声明(示例中为 int)具有相同的类型。

可能的翻译1:

导致错误

可能的翻译2:

它是如何产生标准的?

如果我可以说我的 POV,翻译#2 是最令人讨厌的,至少对我来说,我是一个普通的 C++ 用户。我的意思是,对我来说,“声明的每个变量都具有相同的声明类型”,witch 是自动的。翻译#1对我来说真的很不直观。

再见 QbProg

0 投票
1 回答
6532 浏览

c++ - C++0x 原子模板实现

我知道英特尔的 TBB 中存在类似的模板,此外我在 google 或 Boost 库中找不到任何实现。

0 投票
2 回答
1143 浏览

c++ - C++0x:标准算法的范围重载?

您是否期望下一个标准为标准算法提供范围重载?

Boost 的范围迭代器是类似的,iseq()TC++PL3e 中提到的 Bjarne Stroustrup 的也是同样的想法。我查看了我能找到的最新草案,但没有看到提到的范围重载。

0 投票
2 回答
3175 浏览

c++ - Copy-on-write with shared_ptr when multithreading

In the absence of multithreading, the implementation of copy-on-write for shared_ptr (either from boost or tr1) using unique() is straightforward. Which changes need to be made when multithreading? The reference count is atomic so I assume I can create, copy-construct, read and destroy instances of shared_ptr without further concerns. How about updating them, in general, and particularly when implementing copy-on-write? Are locks needed? Or use boost::atomic_store (why is it not documented)? Or wait for a fully atomic version of shared_ptr (not an option)?

Edit:
sfossen, thank you for your helpful reply.
So I conclude that if I change a pointed-to object only after detaching it via COW, so that only the current thread owns it, no locking is needed and the COW implementation looks just like the single-threaded one when using shared_ptr with atomic ref-counts.

0 投票
2 回答
3207 浏览

c++ - C++0x 是否支持 std::wstring 与 UTF-8 字节序列的转换?

我看到 C++0x 将添加对 UTF-8、UTF-16 和 UTF-32 文字的支持。但是这三种表示之间的转换呢?

我计划在我的代码中到处使用 std::wstring 。但在处理文件和网络时,我还需要处理 UTF-8 编码的数据。C++0x 是否也支持这些操作?

0 投票
4 回答
30555 浏览

c++ - 模板化类型定义?

我正在使用 libgc,它是 C 和 C++ 的垃圾收集器。要使 STL 容器可进行垃圾回收,必须使用 gc_allocator。

而不是写

必须写

有没有办法定义类似的东西

我前段时间查了一下,发现这是不可能的。但我可能错了,或者可能有另一种方法。

以这种方式定义地图尤其令人不快。

变成

编辑:尝试使用宏后,我发现以下代码破坏了它:

模板化类型定义中的逗号被解释为宏参数分隔符。

所以看起来内部类/结构是最好的解决方案。

这是一个关于如何在 C++0X 中完成的示例

0 投票
6 回答
4048 浏览

c++ - 支持 C++0x 功能的 C++ 编译器?

是否有任何支持 C++0x 功能的 C++ 编译器?

0 投票
13 回答
63747 浏览

c++ - 如何将元组扩展为可变参数模板函数的参数?

考虑具有可变模板参数的模板化函数的情况:

现在,我有一个t值元组。如何func()使用元组值作为参数调用?我已经阅读了有关bind()函数对象、call()函数的内容,以及apply()不同的一些现已过时的文档中的函数。GNU GCC 4.4 的实现似乎call()在类中有一个函数bind(),但是关于这个主题的文档很少。

有些人建议手写递归黑客,但可变参数模板参数的真正价值是能够在上述情况下使用它们。

有没有人有解决方案,或提示在哪里阅读它?

0 投票
9 回答
14683 浏览

c++ - 以字符数组为参数的模板元编程

我在 GCC 4.3.2 的 C++11 的半实现中使用 TMP,我想知道是否有办法以某种方式执行以下操作:

它显然不会让我那样做,而且我认为在编译时使用用户定义的文字来转换“asdf”字符串会很幸运,但是 GCC 4.3 不支持用户定义的文字...

有什么建议么?我宁愿不做'a','s','d','f',因为这严重阻碍了我对这个项目的计划。

0 投票
5 回答
2291 浏览

c++ - 为下一个 C++ 标准做准备

一连串的问题BOOST_FOREACH促使我询问 Boost 库的用户他们正在做什么(如果有的话)来准备他们的代码以移植到提议的新 C++ 标准(又名 C++0x)。例如,如果您使用以下代码,您是否会编写这样的代码shared_ptr

还有命名空间问题——将来,shared_ptr将成为std命名空间的一部分——你如何处理这个问题?

我对这些问题很感兴趣,因为我决定硬着头皮开始认真学习 boost,并且我想在我的代码中使用最佳实践。

不完全是大量的答案——这是否意味着这不是问题?无论如何,感谢那些回答; 我接受 jalfs 的回答,因为我喜欢被建议什么都不做!