c++1z相关内容

auto是一个可选的基于范围的for循环的关键字?

我记得有人曾经告诉我, “不需要 auto 在基于范围的for循环中, not 在语言中是不明确的,如果我们删除它的话。“ 这是一个真正的语句吗? 以下代码是有效的C ++语法吗? for(elem:range){...} 有效的语法,但是当我去编译与 铿锵++ - std = c ++ 1z ,我被显示以下错误: 基于范围的循环需要 ..
发布时间:2018-01-28 13:28:51 C/C++开发

枚举到现代C ++ 11 / C ++ 14和未来的C ++ 17 / C ++ 20中

与所有其他类似问题相反,这个问题是关于使用新的C ++功能。 2008 c 有没有一个简单的方法将C ++枚举转换为字符串? 2008 c 简单的方式将枚举类型的变量用作C中的字符串? 2008 c ++ 如何轻松地将c ++枚举映射到字符串 2008 c ++ 同时创建一个C标识符和一个字符串? 2008 c ++ 有没有一个简单的脚本将C ++枚举转换为字符串? 2009 c ..
发布时间:2017-08-23 19:23:11 其他开发

苹果铛版本

我想了解哪个版本的ang苹果安装在我的macbook中,用c ++ 11和/或c ++ 14的功能可以看到。 我键入了此命令: clang --version // --- -response Apple LLVM版本7.0.0(clang-700.1.76) 目标:x86_64-apple-darwin15.0.0 线程模型:posix 但我不能理解(c ..
发布时间:2016-11-05 23:39:26 C/C++

转发成员函数的cv-ref-qualifier

如果没有其他重载(例如 f(T&)或 f(volatile T&& c $ c>)( template f(T& amp;); ,则 T&&& 是所谓的转发引用和 T 是 U 或 U& 一些 cv限定类型 U 。但是对于成员函数的 cv-ref-qualifiers ,没有这样的规则。在 struct S {void f()&& {; }}; a S :: f()始终为rvalue-引 ..
发布时间:2016-11-05 22:26:48 C/C++开发

do std :: tuple和std :: pair支持聚合初始化?

聚合初始化需要用户提供的构造函数。但是 std :: tuple 和 std :: pair 对有大的重载的构造函数。从核心语言的角度来看,这些构造函数是用户提供的还是用户声明的? (更新/澄清:其中nocopy是不能被复制或移动的类,例如 std :: mutex )。 p> auto get_ensured_rvo_str(){ return std :: pair(std : ..
发布时间:2016-10-27 01:08:01 C/C++开发

三叉仍然有效C ++?

我们都知道历史好奇心是二合字母和三字母,但是所有的变化对C ++在最近几年我很好奇:他们是有效的C ++ 14? 解决方案 Trigraphs目前有效,但不会太长! Trigraphs被提议在C ++ 0x中弃用,它被作为C ++ 11发布为 。这是IBM的反对,代表自己和 的其他用户的C ++,结果三字母保留在 C ++ 0x。然后在C ++ 17中再次建议删除(不仅仅是 ..
发布时间:2016-10-27 00:56:54 C/C++开发

Lambda作为默认参数失败

我使用以下代码得到clang和gcc的最新版本的错误: int main(){ auto lambda = [](auto = [] {}){}; lambda(); } Clang出现错误: prog.cc:在函数'int main()': prog.cc:3:12:error:no match for调用'(main():: ..
发布时间:2016-10-25 17:04:10 C/C++开发

experimental ::可选的nullopt_t构造函数

这里介绍了可选对象的code> nullopt_t 和 nullopt / p> struct nullopt_t {see below}; constexpr nullopt_t nullopt(unspecified); [...] 类型nullopt_t不应该有默认构造函数。它应该是 字面类型。常量nullopt将用一个参数 初始化为字面类型。 ..
发布时间:2016-10-24 13:05:00 C/C++开发

experimental ::可选的nullopt_t构造函数

这里介绍了可选对象的code> nullopt_t 和 nullopt / p> struct nullopt_t {see below}; constexpr nullopt_t nullopt(unspecified); [...] 类型nullopt_t不应该有默认构造函数。它应该是 字面类型。常量nullopt将用一个参数 初始化为字面类型。 ..
发布时间:2016-10-24 12:43:15 C/C++开发

理解std :: hardware_destructive_interference_size和std :: hardware_constructive_interference_size

C ++ 17添加了 std :: hardware_destructive_interference_size 和 std :: hardware_constructive_interference_size 。首先,我认为这只是一种获取L1缓存行大小的便携式方法,但这是一个过度简化。 问题: 这些常量与L1缓存行大小有什么关系? 有没有一个很好的例子来演示他们的用例? li> ..
发布时间:2016-10-23 22:26:31 C/C++开发

变量模板和std :: cout - 构造顺序

看起来我们可以安全地使用静态存储持续时间的对象的构造函数中使用 std :: cout 对象问题。 但是,我不完全确定我们可以安全地使用它们在变量模板的情况下: #include T x = T {}; void foo() { class Test { public: Test(){std ..
发布时间:2016-10-23 21:51:08 C/C++开发