Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
我可以使用 C++ 中的内置类型安全地 new[],然后强制转换指针,然后安全地删除[] 吗?
在我的代码中 我实际上有以下内容 wchar t buffer new wchar t size bonus irrelevant code here delete reinterpret cast
c
visualc
memorymanagement
undefinedbehavior
如果 'float'<= INT_MAX 为 true,那么为什么 (int)'float' 可能会触发未定义的行为?
示例代码 t0 c include
c
typeconversion
undefinedbehavior
C11
C17
将非数组变量的地址传递给声明为“Type ptr[static 1]”的函数参数是否有效?
如上所述here https stackoverflow com questions 3430315 what is the purpose of static keyword in array parameter of function
c
function
null
standards
undefinedbehavior
在 C 中调用函数时的序列点和未定义/未指定的行为
我试图确定我对 C 中序列点的理解 只是想检查一些东西 目前 我认为 1 是未定义的 而 2 只是未指定的 因为在 2 中 在评估参数后存在序列点g and h 所以我们不修改i序列点之间两次 但是参数的求值顺序f仍然未指定 我的理解正确吗
关于对齐存储和普通可复制/可破坏类型
我与一个比我聪明的人进行了一次有趣的讨论 并且我仍然对对齐存储和简单可复制 可破坏类型有一个悬而未决的问题 考虑以下示例 include
c
languagelawyer
C17
undefinedbehavior
int foo = foo 的标准参考
int foo foo 编译 C 标准的哪一部分允许这样做 3 3 1 声明点 basic scope pdecl 名称的声明点紧接在其完整声明符 第 8 条 之后和其初始值设定项 如果有 之前 如果声明位于文件范围内 则行为已明确定义 如
c
undefinedbehavior
我可以将二维数组视为连续的一维数组吗?
考虑以下代码 int a 25 80 a 0 1234 56 int p a 0 0 p 1234 56 第二行是否会调用未定义的行为 那么第四行呢 两条线do导致未定义的行为 下标被解释为指针加法后跟间接寻址 即a 0 1234 p 12
c
Arrays
pointers
multidimensionalarray
undefinedbehavior
(在哪里)clang 是否记录了实现定义的行为?
C 中实现定义的行为是未指定的行为 每个符合要求的实现都必须记录其选择 我很容易找到 gcc 的此类文档here https gcc gnu org onlinedocs gcc 5 3 0 gcc C Implementation htm
c
gcc
Clang
undefinedbehavior
clang 如何设法将具有未定义行为的代码编译成该机器代码?
这是代码的变体这条推文 https twitter com Poita status 903537522214621185 只是短一点 不会对菜鸟造成任何伤害 我们有这样的代码 typedef int Function static Fun
c
Compilation
Clang
compileroptimization
undefinedbehavior
在同一函数内,通过间接访问不在作用域内的局部变量是否是 UB?
在第二个右大括号之后 b只能通过间接访问a int main int a int b 42 a b printf d a UB return 0 Since b不再在范围内 这是 UB 吗 我知道从已经返回的函数中取消引用指向非静态局部变量
c
scope
undefinedbehavior
C# 中具有未定义行为的代码
在 C 中 有很多方法可以编写可编译但会产生结果的代码未定义的行为 维基百科 http en wikipedia org wiki Undefined behavior C 中有类似的东西吗 我们可以用 C 编写可以编译但具有未定义行为的代
c
undefinedbehavior
将双精度型转换为整数何时是未定义的行为
所以如下 double t 244 233 int a int t 不是未定义的行为 因为 244 可以容纳在里面int我做对了吗 否则 如果它是更大的值而不是 244 它不适合 int 这将是未定义的 我做对了吗 我更感兴趣的是 C 是如
c
floatingpoint
undefinedbehavior
floatingpointconversion
为什么这种类型的双关不是未定义的行为?
这是一个我认为会调用未定义行为的玩具示例 include
c
undefinedbehavior
typepunning
添加到 std::vector 时类字段的奇怪行为
我在以下情况下发现了一些非常奇怪的行为 在 clang 和 GCC 上 我有一个向量 nodes 有一个元素 一个类的实例Node 然后我调用一个函数nodes 0 这增加了一个新的Node到向量 当添加新节点时 调用对象的字段将被重置 然
c
vector
stdvector
undefinedbehavior
pushback
constexpr 计算负位移位时未定义的行为?
考虑以下代码片段 int main constexpr int x 1 if x gt 0 constexpr int y 1 lt
c
undefinedbehavior
bitshift
constexpr
为什么 vector::clear 不从向量中删除元素?
当我使用clear on a std vector 它应该摧毁里面的所有元素vector 但事实并非如此 示例代码 vector
c
stdvector
undefinedbehavior
如果程序的一部分表现出未定义的行为,它会影响程序的其余部分吗?
假设程序员忘记初始化他的一个自动变量 并且他使用了它的值 从而调用了未定义的行为 int i 0 j printf value of j d n j char buf 256 fputs Enter query stdout fgets b
c
undefinedbehavior
C++ 标准到底在哪里说取消引用未初始化的指针是未定义的行为?
到目前为止 我找不到如何推断出以下内容 int ptr ptr 0 是未定义的行为 首先 5 3 1 1 指出 表示间接转换T to T 但这并没有说明UB的任何事情 然后经常引用3 7 3 2 4 说在非空指针上使用释放函数会导致指针无效
c
standards
undefinedbehavior
languagelawyer
什么时候访问“死”对象的指针有效?
首先澄清一下 我是not谈论取消引用无效指针 考虑以下两个例子 实施例1 typedef struct int p T T a malloc sizeof int free a p a p is now indeterminate T b
c
pointers
languagelawyer
undefinedbehavior
对未定义的 C++ 移位运算符行为和包装“模式空间”感到困惑
我对在 Shift Operators 部分读到的内容感到困惑关于未定义的 C 行为的文章 http blogs msdn com b vcblog archive 2012 10 25 hello arm exploring undefi
c
undefinedbehavior
bitshift
«
1
2
3
4
5
6
7
8
...11
»