在成员初始化中对自我分配的持续评估
在以下程序中, constexpr function foo()用字段 x = 1 ,使对象成为 a 的对象然后使用 std :: struct_at 和默认初始化 x = x ,然后打印了常数评估…
是成员初始化列表,被视为构造函数主体的一部分,或者它被视为声明器的一部分
我正在学习C ++中的成员初始化列表。因此,请考虑以下示例: struct Person { public: Person(int pAge): age(pAge) // ^^^^^^^^^ is this member ini…
C++ 20是否需要实现IANA时区数据库的使用?
C ++ 20 < chrono> 库带有本地时间和时区支持。该库的界面与 iana时区数据库的界面 C ++标准要求该实施实际使用IANA时区数据库及其所有历史数…
使用const char*[]作为Main的第二个参数的类型是有效的
我正在学习c ++和学会,以下给定的声明是等效的: int main (int argc, char *argv[]); //first declaration int main (int argc, char **argv); //RE…
编译器存储函数分配,非静态的const阵列是否可以在恒定数据中避免并避免到每次初始化?
在阅读如何存储在二进制文件中的char arrays/strings?,我在考虑各种方式其中涉及的原始字符串“ nancy” 在结果二进制中看起来完好无损。该帖子的案…
是“线程存储持续时间”和“线程本地存储持续时间”同义词?
C11,6.2.4对象的存储持续时间,4(添加了重点): 用存储级规范符声明标识符的对象 _thread_local 具有线程存储持续时间。 C11,7.5错误< errno.…
不确定结果的STD ::复杂的行为
on (公开可访问的草稿)C ++ 17标准,它说调用具有数学不确定结果的函数是不确定的行为。例如, #include #include int main() { std::cout (0., 0.)…
在C++中关于此参数的矛盾标准
我正在学习C ++的课程。特别是,我知道此是非静态成员函数中的 prvalue 表达式。 来自 class.this#1 : 在非静态成员函数的正文中,关键字是 prvalue…
模板类没有可接受的转换
以下代码正常工作: struct A { int d; A(int _d) : d(_d) {} }; A operator+(const A& x, const A& y) { return x.d + y.d; } int main() { A x = 6;…
如果从lambda表达式生成的类没有默认的ctor,那么如何创建该生成类类型的对象
我正在使用列出的资源在这里学习C ++。特别是,我在Lippman的C ++底漆中阅读了有关 lambda表达式。在那里,我知道lambdas是功能对象。此外,lambda表…
适用于不同lambdas的三元操作员会产生不一致的结果
考虑以下使用三元运算符获取两个 lambda 的公共函数指针类型 int main() { true ? [](auto) noexcept {} : [](int) {}; } GCC-trunk 仅在 C++14 中接…
std ::变体和模棱两可的初始化
考虑以下代码: void fnc(int) { std::cout << "int"; } void fnc(long double) { std::cout << "long double"; } int main() { fnc(42.3); // error …
为什么使用“std::aligned_storage”据称会因无法“提供存储”而导致 UB?
启发:为什么要在C ++ 23中弃用STD :: Aligned_storage,而是要使用什么? 灵感 >(这将reprecect std :: Aligned_storage )说: 使用对齐_*调用未定…
是双引号(“)是预处理式的或未终止的字符串字面的?
双引号 (") 是预处理标记还是未终止的字符串文字? C11, 6.4 词法元素,语法,1: preprocessing-token: header-name identifier pp-number character-…