Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
C++:从同一类的成员函数调用纯虚函数
考虑以下 2 个程序 include
c
undefinedbehavior
purevirtual
为什么这是一个未定义的行为?
我的回答这个问题 https stackoverflow com q 18706587 845092这个函数是 inline bool divisible15 unsigned int x 286331153 2 32 1 15 40086
c
undefinedbehavior
我应该声明我的函数模板专业化还是定义它们就足够了?
我有一些课程可以检查 实现此功能的代码在头文件中声明一个函数模板 并将其专门用于不同的源文件 check h template
阈值绝对值
我有以下功能 char f1 int a unsigned b return abs a lt b 为了执行速度 我想重写如下 char f2 int a unsigned b return unsigned a b lt 2 b redu
c
languagelawyer
undefinedbehavior
microoptimization
初始化列表中的依赖关系
这种行为定义明确吗 class Foo int A B public Foo int Bar B Bar A B 123 int main Foo MyFoo 0 return 0 不 它是未定义的 A将首先初始化 它是类定义中的第一个 并
对“i”的操作可能是未定义的[重复]
这个问题在这里已经有答案了 我有这段代码来获取以下形式的字符串bla 2并将其分开 void separate char str char word int n int i 0 while str i word i str i n str
c
undefinedbehavior
sequencepoints
对布尔值使用按位非运算符 (~) 是否会引发未定义行为?
如果 C 程序将按位非运算符 应用于布尔值 是否会调用未定义行为 例如 以下程序定义明确吗 bool f false bool f2 f is f2 guaranteed to be true or is this UB bool t tr
c
BitManipulation
languagelawyer
undefinedbehavior
在 NULL 表示为 0 的平台上,编译器是否曾经生成过 NULL <= p 的意外代码
在 C99 中 平等 似乎从来没有未定义过 它可以产生1如果您意外地将其应用到无效地址 例如 x 1 y可能是偶然的事实 它不会产生未定义的行为 许多 但不是全部 无效地址未定义为根据标准计算 使用 因此p x with p悬空指针 或者
c
C99
undefinedbehavior
在没有正确原型的情况下调用 printf 是否会引发未定义的行为?
这个看起来无辜的程序是否会调用未定义的行为 int main void printf d n 1 return 0 是的 调用printf 没有适当的原型 来自标准头
c
printf
languagelawyer
undefinedbehavior
functionprototypes
nullptr 引用在 C++ 中是未定义的行为吗? [复制]
这个问题在这里已经有答案了 下面的代码愚弄了nullptr指针和参考 include
c
reference
undefinedbehavior
nullptr
lambda:通过引用捕获 const 引用是否应该产生未定义的行为?
我刚刚在代码中发现了一个令人讨厌的错误 因为我通过引用捕获了对字符串的 const 引用 当 lambda 运行时 原始字符串对象已经消失了 引用的值是空的 而目的是它包含原始字符串的值 因此出现了错误 让我困惑的是 这并没有在运行时引发崩
c
Lambda
C11
undefinedbehavior
使用地图提取和重新插入的限制性规则的基本原理
从 C 17 开始 关联容器 https en cppreference com w cpp container支持节点的提取及其重新插入 可能插入到相同类型的另一个容器中 返回的对象extract key is a 节点句柄 https
c
languagelawyer
C17
undefinedbehavior
在溢出的情况下,i++ 是否会调用小于 int 的有符号类型的未定义行为?
显然 以下代码由于算术溢出而调用未定义的行为 include
c
languagelawyer
undefinedbehavior
扩展 std 命名空间被视为未定义行为的原因是什么?
为什么要添加名字std命名空间未定义的行为 显而易见的答案是 因为标准是这么说的 例如在 C 14 命名空间 std 17 6 4 2 1 1 中 如果 C 程序向命名空间添加声明或定义 则其行为是未定义的std或到一个 命名空间内的命名空
c
undefinedbehavior
cstandardlibrary
那么为什么 i = ++i + 1 在 C++11 中定义良好呢?
我见过other https stackoverflow com q 1860461 150634相似的问题 https stackoverflow com q 4336860 150634并阅读defect http www open s
c
C11
undefinedbehavior
languagelawyer
编译器如何知道 C++ constexpr 计算不会触发未定义的行为?
C 标准mandates编译器要检查未定义的行为 in C constexpr 计算 In 这次演讲 https www youtube com watch v yG1OZ69H o Chandler Carruth 指出 在检查 UB 时
c
languagelawyer
undefinedbehavior
constexpr
使用“memcpy”复制二维数组在技术上是未定义的行为吗?
评论中出现了一个有趣的讨论最近的这个问题 https stackoverflow com q 69329303 10871073 现在 虽然有语言C 讨论已经转向什么C 标准指定了使用以下函数访问多维数组的元素时构成未定义行为的内容std
c
multidimensionalarray
languagelawyer
undefinedbehavior
为什么这个语句在 java 中不起作用 x ^= y ^= x ^= y;
int x 1 int y 2 x y x y 我期望这些值被交换 但它给出 x 0 和 y 1 当我用C语言尝试时 它给出了正确的结果 您的陈述大致相当于此扩展形式 x x y y x x y 与 C 不同 在 Java 中 保证二元运算
Java
SWAP
undefinedbehavior
xor
C++: std::tie 与 std::ignore 的返回类型
我想知道 C 11 标准是否给出了关于type of the std tuple由返回std tie当一些论点是std ignore 更具体地说 我可以假设 decltype std tie 42 std ignore 不等于decltyp
c
C11
STL
tuples
undefinedbehavior
复制普通可复制对象是否总是在 C++14 中定义?
For a 可以简单地复制 http en cppreference com w cpp concept TriviallyCopyableT 型考虑 void f T z T a T b std memcpy b a sizeof T a
c
c14
undefinedbehavior
1
2
3
4
5
6
...10
»