标记的问题 [c++17]

28
4 回复
如何在CMake中启用C ++ 17
我正在使用VS 15.3,它支持集成的CMake 3.8。如何在不为每个特定编译器编写标志的情况下定位C ++ 17?我当前的全局设置不起作用:  # https://cmake.org/c...
15
2 回复
为什么cppreference将type_traits xxx_v快捷方式定义为内联constexpr而不仅仅是constexpr?
为什么cppreference将type_traits xxx_v快捷方式定义为inline constexpr而不仅仅是constexpr? 例如,请参阅 is_integral_v :  template< class T &...
14
2 回复
构造函数模板可以在类模板的c ++ 17参数推导中导致歧义
考虑一个简单的例子:  template <class T> struct foo { template <template <class> class TT> foo(TT<T>&&)...
73
4 回复
如何在Visual Studio中启用C ++ 17编译?
我想使用C ++ 17功能。 如何在Microsoft Visual Studio中将编译从C ++ 14切换到C ++ 17? 或者它在VS的发布版本中不可用?      73 哪些C ++ 17具有...
11
1 回复
如何`std :: bind()`标准库算法?
我的问题的简短版本是这样的:如何使用标准库算法使用像std::bind()这样的东西? 由于短版本有点缺乏细节,这里有一点解释:假设我有算法std::transform()...
问 4年前
29
7 回复
找不到macOS Clang C ++ 17文件系统头文件
我需要使用(实验性)C++17文件系统库编写程序,但我的 Mac(macOS 10.12.03)上的clang似乎没有包含文件系统头。 由于我需要使用C++17,我不能使用像Boos...
问 2年前
31
3 回复
int a = 1,是|| 1一个常数表达式?
N4527 5.20 [expr.const] p5   常量表达式是glvalue核心常量表达式,其值指的是一个实体   允许的常量表达式结果(如下定义),或者是一个prvalue核心...
66
4 回复
experimental :: filesystem链接器错误
我尝试在gcc 6.0中开发实际使用新的c ++ 1z功能。 如果我尝试这个小例子:  #include <iostream> #include <experimental/filesystem> names...
问 3年前
9
2 回复
结构化绑定在C ++ 17中引入的标识符类型有哪些?
据我所知,C ++ 17中结构化绑定引入的标识符实际上是对某些“隐藏”变量的引用。这样  auto [ a, b ] = std::make_tuple(1, 2); 是种等同于  auto e = st...
18
2 回复
为什么std :: function :: argument_type已被弃用?
我在 cppreference 上看到std::function::argument_type在C ++ 17中被弃用了。它背后的原因是什么? ISO WG21论文提出了哪些建议?      18 2个答案   ...
28
2 回复
std :: unordered_map :: merge()的安全性
在编写一些针对C ++ 17的代码时,我遇到了一个绊脚石,确定了合并两个兼容的std :: unordered_maps的操作的异常安全性。根据当前的工作草案,§ 26.2.7,表9...
13
2 回复
C ++ 17表达式评估顺序和std :: move
虽然今天重构了一些代码以将原始指针更改为std::unique_ptr,但由于 评估顺序 错误。 旧代码执行如下操作:  void add(const std::string& name, Foo...
18
2 回复
什么是c ++中的std :: invoke? [关闭]
我刚刚阅读了std::thread和std::bind,我遇到了Callable概念和std::invoke。 我在 cppreference 上阅读了std::invoke但我不明白它说的是什么。这是我的问...
问 2年前
20
2 回复
Boost文件系统和标准C ++文件系统库有多相似?
我需要一个文件系统库,用于支持C ++ 11的编译器或支持C ++ 14的编译器 - 所以它不能来自C ++ 17。 现在,我知道进入C ++ 17的文件系统库是基于Boost ::...
13
2 回复
为什么boost :: filesystem :: canonical()要求目标路径存在?
boost::filesystem::canonical(const path& p) 的文档规定:   概述:将必须存在的p转换为没有符号链接,点或点点元素的绝对路径。   ...点击   备...
14
1 回复
std :: map和std :: variant的不完整类型
考虑std::variant之上的递归变体的这种简化且非常具体的实现:  #include <map> #include <variant> struct recursive_tag; template <t...
20
1 回复
静态向量内部数据布局 - `union` vs`std :: aligned_storage_t` - 巨大的性能差异
假设你必须实现一个static_vector<T, N>类,它是一个完全存在于堆栈中的固定容量容器,永远不会分配,并暴露出类似std::vector的接口。 (Boost提供...
22
1 回复
为C ++ 17提出的UTF-8字符文字有什么意义?
N4267 提出的具体内容究竟是什么? 它们唯一的功能似乎是防止指定扩展的ASCII字符或部分UTF-8代码点。它们仍然存储在一个固定宽度的8位字符(根据我的理...
问 4年前
20
2 回复
什么是C ++ 17相当于boost :: filesystem :: unique_path()?
C ++ 17上的std::filesystem和许多前C ++ 17编译器的std::experimental::filesystem基于boost::filesystem,并且几乎所有这些都很明显可以移植到较新的std...
20
3 回复
执行策略与何时使用它们之间的区别
我注意到<algorithm>中的大多数(如果不是全部)函数都会获得一个或多个额外的重载。所有这些额外的重载都会添加一个特定的新参数,例如,std::for_e...
问 2年前
153
6 回复
C ++ 11,14,17或20是否为pi引入了标准常量?
C和C ++中的数字pi存在一个相当愚蠢的问题。据我所知,任何标准都不要求M_PI中定义的math.h。 新的C ++标准在标准库中引入了许多复杂的数学 - 双曲函数,...