c++1z相关内容

使用observer_ptr

构建点的确切点是 std :: observer_ptr > 在我看来, / code>,如果它不添加动态内存安全,这似乎是一个多余的步骤。 在我的所有代码中,我使用 std :: unique_ptr 其中我需要明确拥有一个对象和 std :: shared_ptr 我可以共享所有权一个对象。 这非常好,可以防止对已经销毁的对象的意外解引用。 std :: observe ..
发布时间:2016-10-17 09:51:59 C/C++开发

我如何用C ++概念(“概念精简”)支持构建gcc?

C ++标准委员会正在致力于概念扩展的TS(技术规范):“编程语言 - 概念的C + +扩展”。 N4377 是本文档的最新版本。 我知道 concept-gcc ,但上述概念提案(通俗地称为 Concepts Lite )是不同的。我听说有一个概念分支,我尝试了来自 origin / asutton / c ++ - concepts > gcc 的 git 镜像,但没有编译。如何构建和使 ..
发布时间:2016-10-17 09:51:03 C/C++开发

std :: launder的目的是什么?

P0137 引入了函数模板 std :: launder ,并在有关联合,生命周期和指针的部分对标准进行了许多更改。 什么是本文解决的问题?我必须意识到的语言的变化是什么?我们是什么? c> 解决方案 std :: launder 是适当命名的,虽然只有当你知道它是什么。 。 考虑文章中的例子: struct X {const int n; }; union U { ..
发布时间:2016-10-14 23:06:29 C/C++开发

TR2是否会在C ++ 17中发布?

TR2 中有许多有趣的东西。是在 C ++ 17 吗? 我理解TR1在2005年完成,不得不等到C ++ 11被标准化。 但是我也理解TR2已经完成了? 我的链接到C ++ 17没有提到任何关于TR2,但我希望.. 。 TR的观点(现在)。 解决方案技术规格)是允许某些成熟独立于标准迭代过程。他们可以发布一个TS,看看它是如何工作的,看看是否有任何问题的实现和/或使用的功 ..
发布时间:2016-10-14 21:09:19 C/C++开发

什么是内联变量,它是什么有用的?

在2016年Oulu ISO C ++标准会议上,提案名为内置变量被标准委员会投票成C ++ 17。 在外行人的术语中,什么是内联变量,什么是有用的? 解决方案 提案的第一句话: inline 说明符可以应用于变量以及函数 应用于函数的 inline 的保证效果是允许在多个翻译单元中用外部链接来相同地定义功能。对于在实践中,意味着定义在头部中的功能,可以包括在多个翻译单元 ..
发布时间:2016-10-14 12:59:50 C/C++开发

编译时反射在C ++ 1z?

在C ++标准化委员会中有一个研究小组,在C ++ 1z或之后提供编译时反映。 例如,可以使用这些工具来命名函数或类吗? / p> struct A {int f(){return 42;}}; struct B {int(std :: reflect :: member :: declname)(){return 43;}}; //相当于struct B { ..
发布时间:2016-10-14 12:12:49 C/C++开发

为什么不把yield添加到C ++ 0x?

我在许多Python程式中一直使用yield,并且在许多情况下 清除代码。我对其进行了博客,这是我网站上的热门网页之一。 C#还提供yield - 它通过调用者端的状态保持实现,通过自动生成的类保持状态,函数的局部变量等。 我目前正在阅读关于C ++ 0x及其添加;并且在阅读关于在C ++ 0x中实现lambdas的时候,我发现它是通过自动生成的类来完成的,配备了存储lambda代码的 ..
发布时间:2016-10-14 11:58:45 C/C++开发

会有范围保护/范围退出成语的标准化吗?

在范围出口上运行lambda似乎是这样一个基本的东西,我希望它被标准化。类似 unique_ptr 的应用程序更好,但是我发现需要一个无限的“一次性”析构函数,尤其是在使用C风格库时。有人知道这是否来了? 解决方案 n4189 建议将 make_scope_exit 包装器和其他类似的资源处理程序添加到语言。它是基于相对有名的 scope_guard 谈话。 LWG最近的“当前纸状态 ..
发布时间:2016-10-14 11:04:26 C/C++开发

保证复印精度如何工作?

在2016年Oulu ISO C ++标准会议上,提案名为保证复制Elision 被标准委员会投票选为C ++ 17。 它是如何工作的? 解决方案 复制elision已被允许,或者是否需要更改代码以保证复制elision?允许在多种情况下发生。然而,即使它被允许,代码仍然必须能够工作,好像副本没有被省略。也就是说,必须有一个可访问的副本和/或移动构造函数。 保证复制精度只是说明 ..
发布时间:2016-10-14 10:26:49 C/C++开发

C ++标准库中的哪些头保证包含另一个头?

C ++标准库头文件可能以未指定的方式包含彼此,因此程序员通常不应该依赖于一个头文件包括另一个头文件。然而,在少数情况下,头部被保证包括另一个头部,或者提供否则将需要包括另一个头部的某些功能。 解决方案 这个答案忽略了C头文件 - 和 。在C ++库头文件(所有引用都是N4582)中: 由 ..
发布时间:2016-10-13 10:19:40 C/C++开发

C ++ 17的新特性是什么?

C ++ 17现在功能齐全,因此不太可能遇到大的更改。已经为C ++ 17提出了数百个提案。 哪些功能在C ++ 17中添加到C ++? 当使用支持“C ++ 1z”的C ++编译器时,当编译器更新为C ++ 17时,哪些功能将可用? 解决方案 语言特性: 模板和通用代码 过度对齐数据的动态内存分配 保证复制检查 最后! 不是在所有情况下,但在所有情况 ..
发布时间:2016-10-11 22:48:04 C/C++开发

用的unique_ptr&LT工作; INT []>中矢量< INT>和INT []在模板化功能

说,我有3个变量: 矢量<&INT GT; VEC(3); INT STAT [3]; 汽车达因= make_unique&下; INT []≥(3); 我可以初始化任何这些,如果我知道的大小是3:为(自动I = 0;我3; ++ I)X [3] =我; 其中, X 是 VEC ,与stat 或 DYN 。不过,我想能够做到这一点的模板只需在通过X 一次。什么我需要在为了做到这一点 ..
发布时间:2016-06-03 10:07:48 C/C++开发