|
|
1
45
如果变量的类型已更改,则如果变量是参数而不是类型,则sizeof将不需要更改。 关于@icepack的评论:类型与变量名的变化的可能性或可能性不是问题。假设变量名用作sizeof的参数,然后更改。在最好的情况下,重构重命名操作会更改所有出现的情况,并且不会引入任何错误。在最坏的情况下,sizeof的一个实例会丢失,编译器会抱怨并修复它。如果更改了类型,则完成操作后,sizeof语句将不会出错。 现在假设类型是sizeof的参数。如果变量的类型发生了变化,除了检查之外,没有其他方法可以找到与该变量相关的所有sizeof。您可以搜索,但您将获得相同类型sizeof所有不相关用途的点击率。如果错过了一个,您将遇到一个运行时问题,因为大小不匹配,这是更困难的发现。 |
|
2
6
除了史蒂夫所说的,让我补充一下sizeof不计算它的操作数。所以你可以在里面做任何事。不仅可以使用尚未初始化的变量,还可以取消对空指针的引用,调用未定义但只声明的函数,并执行任何其他类型的操作。我鼓励你总是使用表情版本,因为史蒂夫解释得很清楚。
也要考虑到,有时类型化真的很长且不可读,只需考虑指向函数的指针(尤其是C++)。而不是写作
|
|
|
3
4
你可能会发现这两者之间没有什么区别:
…但是如果分配不在声明的附近呢?如果我遇到这样一条线:
那么我有理由相信这句话是正确的,甚至不记得
那么我可能有点怀疑,需要查一下
|
|
|
4
3
F和FF线肯定比G和GG线差。
|
|
5
2
我倾向于使用
我也进行了长时间的讨论(有时相当活跃,持续了几天——我们最终同意在这个问题上有所不同),讨论是否可以使用它。
在一个完全不同的策略上,关于
|
|
|
6
0
获取变量的sizeof可能会产生意外的结果。当变量是数组时,size of(array)将返回数组的大小,而不是单个元素的大小或指针的大小。获取指针的大小将返回指针的大小。但是,由于数组在传递时通常被表示为指针,所以事情可能会变得混乱。 |
|
|
7
0
业务逻辑定义了您的选择。
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |