问题标签 [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.
c++ - C++0x 标准如何定义 C++ Auto 多重声明?
嗯,我对即将到来的 C++0x 标准中的多个自动声明有点困惑。
我读过的地方是不允许的。原因是(?),因为不清楚连续声明是否应该与第一个声明(示例中为 int)具有相同的类型。
可能的翻译1:
导致错误
可能的翻译2:
它是如何产生标准的?
如果我可以说我的 POV,翻译#2 是最令人讨厌的,至少对我来说,我是一个普通的 C++ 用户。我的意思是,对我来说,“声明的每个变量都具有相同的声明类型”,witch 是自动的。翻译#1对我来说真的很不直观。
再见 QbProg
c++ - C++0x 原子模板实现
我知道英特尔的 TBB 中存在类似的模板,此外我在 google 或 Boost 库中找不到任何实现。
c++ - C++0x:标准算法的范围重载?
与
您是否期望下一个标准为标准算法提供范围重载?
Boost 的范围迭代器是类似的,iseq()
TC++PL3e 中提到的 Bjarne Stroustrup 的也是同样的想法。我查看了我能找到的最新草案,但没有看到提到的范围重载。
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.
c++ - C++0x 是否支持 std::wstring 与 UTF-8 字节序列的转换?
我看到 C++0x 将添加对 UTF-8、UTF-16 和 UTF-32 文字的支持。但是这三种表示之间的转换呢?
我计划在我的代码中到处使用 std::wstring 。但在处理文件和网络时,我还需要处理 UTF-8 编码的数据。C++0x 是否也支持这些操作?
c++ - 模板化类型定义?
我正在使用 libgc,它是 C 和 C++ 的垃圾收集器。要使 STL 容器可进行垃圾回收,必须使用 gc_allocator。
而不是写
必须写
有没有办法定义类似的东西
我前段时间查了一下,发现这是不可能的。但我可能错了,或者可能有另一种方法。
以这种方式定义地图尤其令人不快。
变成
编辑:尝试使用宏后,我发现以下代码破坏了它:
模板化类型定义中的逗号被解释为宏参数分隔符。
所以看起来内部类/结构是最好的解决方案。
这是一个关于如何在 C++0X 中完成的示例
c++ - 支持 C++0x 功能的 C++ 编译器?
是否有任何支持 C++0x 功能的 C++ 编译器?
c++ - 如何将元组扩展为可变参数模板函数的参数?
考虑具有可变模板参数的模板化函数的情况:
现在,我有一个t
值元组。如何func()
使用元组值作为参数调用?我已经阅读了有关bind()
函数对象、call()
函数的内容,以及apply()
不同的一些现已过时的文档中的函数。GNU GCC 4.4 的实现似乎call()
在类中有一个函数bind()
,但是关于这个主题的文档很少。
有些人建议手写递归黑客,但可变参数模板参数的真正价值是能够在上述情况下使用它们。
有没有人有解决方案,或提示在哪里阅读它?
c++ - 以字符数组为参数的模板元编程
我在 GCC 4.3.2 的 C++11 的半实现中使用 TMP,我想知道是否有办法以某种方式执行以下操作:
它显然不会让我那样做,而且我认为在编译时使用用户定义的文字来转换“asdf”字符串会很幸运,但是 GCC 4.3 不支持用户定义的文字...
有什么建议么?我宁愿不做'a','s','d','f',因为这严重阻碍了我对这个项目的计划。
c++ - 为下一个 C++ 标准做准备
一连串的问题BOOST_FOREACH
促使我询问 Boost 库的用户他们正在做什么(如果有的话)来准备他们的代码以移植到提议的新 C++ 标准(又名 C++0x)。例如,如果您使用以下代码,您是否会编写这样的代码shared_ptr
:
还有命名空间问题——将来,shared_ptr
将成为std
命名空间的一部分——你如何处理这个问题?
我对这些问题很感兴趣,因为我决定硬着头皮开始认真学习 boost,并且我想在我的代码中使用最佳实践。
不完全是大量的答案——这是否意味着这不是问题?无论如何,感谢那些回答; 我接受 jalfs 的回答,因为我喜欢被建议什么都不做!