标签:c++11

翻译

c – 初始化器中的多个突变是否列出未定义的行为?

viewed(1)

我很好奇初始化器列表和序列点。我刚才读到,初始化器列表中的评估顺序是从左到右。如果是这样,那么在评估点之间必须有某种序列点,我错了吗?那么说的是以下有效的代码?有没有什么会导致未定义的行为? int i = 0; struct S { S(...

翻译

为什么C11中的“i = i 1”未定义行为?

viewed(1)

我正在阅读n3290 C11标准草案(尽可能接近实际标准文本),我注意到i = i 1;产生未定义的行为。以前我已经看过类似的问题,但是它们是根据旧的标准(序列点)来回答的。新标准引入了表达式和子表达式执行之前/之后的排序概念。 1.9 1...

翻译

c – 如何重载| =操作符范围的枚举?

viewed(1)

如何在强类型(范围)枚举(C11,GCC)中重载| =操作符? 我想测试,设置和清除强类型枚举的位。为什么强类型?因为我的书说这是好习惯。但这意味着我必须static_cast< int>到处。为了防止这个,我重载|和&运算符,但是...