cost 81 ms
使用“-ftrivial-auto-var-init”保证非静态聚合对象的填充字节初始化为零 - Using `-ftrivial-auto-var-init` to guarantee the initialization of padding bytes to zero for non-static aggregate objects

我正在关注Does C++ standard 保证将非静态聚合对象的填充字节初始化为零? 并试图强制GCC 和 Clang 用零初始化填充。 -ftrivial-auto-var-init=choice标志似乎可以解决问题,但我看不出是否使用它有什么区别原始代码在这里(不使用-ftrivial-a ...

在具有默认非平凡构造函数的结构上使用值初始化时,结构标量成员是否被零初始化 - Are struct scalar members zero-initialized when using value-initialization on a struct with a default non-trivial-constructor

如果我有以下结构 我用 这应该值初始化对象并根据标准执行以下操作: 如果 T 是没有用户提供或删除的默认构造函数的(可能是 cv 限定的)类类型,则该对象被零初始化并检查默认初始化的语义约束,并且如果 T 具有非平凡的默认构造函数, 对象是默认初始化的; struct test有 ...

C 自动将 null 字符附加到字符串? - C automatically appending null character to a string?

这是我的一项测试,我不明白为什么它会按预期工作。 这是一段代码,将s1的顺序颠倒过来,存储在s2中,然后打印出来。 在我看来,当 s1 向后存储时,s2 中的 null 字符将被覆盖,而且 s1 中的 null 字符永远不会被写入 s2,因为它是从最后一个字符开始的。 但它打印出来就好了。 为什么 ...

为什么定义数组之外的第一个元素默认为零? - Why does the first element outside of a defined array default to zero?

我正在为 C++ class 简介准备期末考试。 我们的教授给我们练习了这个问题: 解释为什么代码会产生以下 output: 120 200 16 0 该问题的示例答案是: cout 语句只是循环遍历其下标由 for 循环的增量定义的数组元素。 元素大小不是由数组初始化定义的。 for 循环定 ...

匿名映射页面的 PTE 地址字段是什么? - What is in the PTE address field for an anonymously mapped page?

当程序调用mmap分配一个匿名页,也称为零需求页时,对应的页表项 (PTE) 的地址字段中会出现什么? 我假设 kernel不会在物理 memory 中创建零初始化页面(并将该物理页面的页码输入 PTE),直到请求进程实际触及页面 - 因此术语需求零。 由于它不是磁盘地址,也不是 0(用于未分配的 ...

直接重置结构的内容 - Reset directly the content of a struct

我已经实现了一个 function 来重置指针指向的结构的内容: 当Struct变大(超过 10K)时,我会遇到性能问题,因为Struct是在堆栈中创建的,然后分配给*s 。 我想知道我是否可以改进它: 是否可以在没有临时Struct{} object 的情况下直接初始化*s ? 我是否应该评估St ...

为什么有些 Windows 加载程序用 `sub` 而不是 `xor` 编码零寄存器? - Why does some Windows booloader code zero registers with `sub` instead of `xor`?

考虑到诸如https://stackoverflow.com/a/33668295中详述的考虑因素,似乎xor reg, reg是将寄存器归零的最佳方法。 但是当我检查实际的汇编代码(例如 Windows 引导加载程序代码,IIRC)时,我看到xor reg, reg和sub reg, reg都使 ...

为什么不将 C++ 结构初始化为 `= {0}` 将其所有成员设置为 0? - Why doesn't initializing a C++ struct to `= {0}` set all of its members to 0?

在进行了大量测试并写下这个答案之后(注意:在我完全重写它之前,对它的否决票),我不明白为什么= {0}不会将结构的所有成员设置为零! 如果你这样做: ... output 是: ...虽然我预计output 是这样的: ...这意味着只有 FIRST 成员设置为零,所有 rest 都设置为默 ...

使用 constexpr 过度渴望 C++ 联合零初始化 - Overly eager C++ union zero-initialization with constexpr

下面是一个标记联合模板“存储”的精简示例,它可以假设两个类型 L 和 R 包含在一个联合中,加上一个布尔值,指示存储其中的哪一个。 实例化使用两种不同大小的类型,较小的一种实际上是空的。 构造函数用 Empty 初始化 R 成员,并且只调用该成员的联合构造函数 联合永远不会默认初始化为一个 ...

C++ 零初始化具有可变数组长度的模板数组 - C++ zero init an array of templates with variable array length

有没有办法将具有可变大小的任何类型的数组归零? 所以我想要的是应用这样的东西: 到这样的模板: 当我尝试这样做时,我的编译器会说: 'results' declared as array of functions of type 'T ()' 。 当我使用任何固定类型名时,我收到此错误: V ...

std::unordered_map operator[] 是否对不存在的键进行零初始化? - Does std::unordered_map operator[] do zero-initialization for non-exisiting key?

根据 cppreference.com,不存在值的std::map::operator[]进行零初始化。 但是,同一个站点没有提到std::unordered_map::operator[]零初始化,除了它确实有一个依赖于此的示例。 当然,这只是一个参考站点,而不是标准。 那么,下面的代码好吗? ...

单例的静态初始化顺序 - Static Initialization Order for Singletons

所以我读到零初始化将初始化: 每个具有静态或线程本地存储持续时间的命名变量,在进行任何其他初始化之前,都无需进行常量初始化 我在传统的私有构造函数和静态公共方法中使用Singleton ,其中有一个本地静态Singleton对象,该方法将返回该对象。 我的问题是,该类还具 ...

C++ 零初始化 - C++ Zero-Initialization

根据http://en.cppreference.com/w/cpp/language/zero_initialization ,我无法理解我班级中的某个成员何时以及为何被零初始化。 考虑以下测试程序: 我正在声明一个类,该类具有签名为“void functionname()”的 8 个函数指 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM