|
|
1
19
或
两者都是不正确的,因为在某些平台上访问未对齐的值(+5+10)可能需要数百个CPU周期,而在某些平台上(如较旧的ARM),这将导致非法操作。 正确的方法是:
而且它更具可读性。 |
|
|
2
8
一旦将其封装到类中,使用哪种技术就无关紧要了。方法名称将提供代码正在执行的操作的描述。因此,在大多数情况下,您不必深入研究实际的impl。看看发生了什么。
|
|
|
3
4
如果我被迫选择,我会说1。然而,我要指出的是,无论哪种方式,所呈现的代码都非常类似于C;我会避开其中一个,重新审视这个问题。这里有一个更简单的C++-y
|
|
|
4
2
第一个例子更具可读性,完全是因为你的大脑不必破译全局指针操作。
|
|
|
5
1
我发现第二个较短的更容易阅读。 然而,我怀疑,这取决于你是否是那种能轻易“得到”指针的人。
|
|
|
6
1
注意--由于对齐问题,此代码可能无法工作!为什么不直接使用
|
|
|
7
1
如果您可以将自己绑定到一个编译器(或者针对兼容性问题进行预处理器破解),那么可以使用压缩结构选项为您正在编写的值获取符号名。例如,关于GCC:
但是,它的主要缺点是没有任何标准化的语法。 |
|
|
8
0
最具可读性的是任何一种变体,其中添加了对您在那里所做操作的注释。
|
|
|
9
0
一定地:
|
|
10
0
非便携式 . 除了对齐问题外,还有整数表示法(大小因系统而异,符号表示法、endianness和填充法也是如此)。因此,代码在系统之间的行为是 不规则的 如果你想成为 清楚的 关于你的算法应该做什么,你应该 显式地将每个字节放入正确的位置
序列化和反序列化是程序员惯用的概念。。。
使用序列化/反序列化功能。程序员最能理解这一点。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |