997得票1回答
C++17有哪些新特性?

C++17已经完成功能开发,因此不太可能出现大规模更改。数百个提案被提交作为C++17的一部分。 这些功能中有哪些添加到了C++17中? 当使用支持“C++1z”的C++编译器时,该编译器升级到C++17时将有哪些特性可用?

689得票6回答
什么是聚合体和平凡类型/POD,它们有什么特殊之处以及如何/为什么它们特别?

这个FAQ是关于聚合体和POD的,并涵盖以下内容: 什么是聚合体? 什么是POD(Plain Old Data)? 最近,什么是平凡或可平凡复制的类型? 它们之间有什么关系? 它们为什么特殊? C++11有什么变化?

551得票32回答
现代C++11/C++14/C++17及未来的C++20中如何将枚举类型转换为字符串

与所有其他类似的问题相反,这个问题是关于使用新的C++特性的。 2008 c 有没有简单的方法将C++枚举转换为字符串? 2008 c C中如何以简单的方式使用枚举类型变量作为字符串? 2008 c++ 如何轻松地将C++枚举映射到字符串? 2008 c++ 如何使某物既是C标识符又是字符...

374得票5回答
std::string_view 为什么比 const std::string& 更快?

std::string_view 已经进入C++17,并且广泛推荐使用它来代替 const std::string&。 原因之一是性能。 有人可以解释一下当作为参数类型时,std::string_view与const std::string&相比究竟如何更快?(假设在被调用...

365得票3回答
std::launder的目的是什么?

P0137介绍了函数模板std::launder并对有关联合、生命周期和指针的标准进行了许多重大更改。 这篇论文解决了什么问题?我需要注意哪些语言上的更改?我们要进行什么样的launder操作?

318得票4回答
std::lock_guard 还是 std::scoped_lock?

C++17引入了一个名为std::scoped_lock的新锁定类。 从文档来看,它与已经存在的std::lock_guard类相似。 它们之间的区别是什么,何时应使用std::scoped_lock?

241得票2回答
什么是string_view?

string_view是C++17中添加的一个特性,最初在C++ Library Fundamentals TS(N3921)中提出。 据我理解,string_view是一种表示某种字符串“概念”的类型,它可以视为能够存储可视为字符串的任何类型容器的视图。 这个理解正确吗? 是否应该将经...

214得票3回答
内联变量是如何工作的?

在2016年奥卢ISO C++标准会议上,一个名为内联变量的提案被标准委员会投票纳入了C++17标准。 通俗地说,什么是内联变量,它们是如何工作的,以及它们有什么用处?内联变量应该如何声明、定义和使用?

195得票4回答
C++17中是什么使得"i = i++ + 1;"合法?

在你开始大喊未定义行为之前,需要明确的是,这在 N4659 (C++17) 中是明确列出的。 i = i++ + 1; // the value of i is incremented 然而在N3337(C ++ 11)中 i = i++ + 1; ...

195得票6回答
C++11、14、17或20是否引入了一个标准常数来表示圆周率?

C和C++中关于数字π的问题相当愚蠢。据我所知,math.h中定义的M_PI在任何标准中都不是必需的。 新的C++标准库引入了许多复杂的数学函数,包括双曲函数、std::hermite和std::cyl_bessel_i等,还有各种随机数生成器等等。 '新'标准是否引入了数字π的常量?如果没有...