G****A 发帖数: 4160 | 1 以前讨论过,但考古没找到。
如果想表达将value复职给*point,再将point指向下一个item.以下用法绝对安全么?
*(point++) = value; |
X****r 发帖数: 3557 | 2 安全
【在 G****A 的大作中提到】 : 以前讨论过,但考古没找到。 : 如果想表达将value复职给*point,再将point指向下一个item.以下用法绝对安全么? : *(point++) = value;
|
r****o 发帖数: 1950 | 3 equal to *point++=value
【在 G****A 的大作中提到】 : 以前讨论过,但考古没找到。 : 如果想表达将value复职给*point,再将point指向下一个item.以下用法绝对安全么? : *(point++) = value;
|
a****l 发帖数: 8211 | 4 讨论一下,为什么很多人喜欢用*p++=*v++这种表达式呢?我觉得写成分开的行更好:
*p=*v;
p++;
v++;
这样一来就不可能有sequence point和operator priority的问题了.
就算把他们写在一起,机器代码还是必然是象上面一样的分开来的.现在的c编译器也总
是能把代码优化成最合适的.
【在 G****A 的大作中提到】 : 以前讨论过,但考古没找到。 : 如果想表达将value复职给*point,再将point指向下一个item.以下用法绝对安全么? : *(point++) = value;
|
b******n 发帖数: 592 | 5 因为以前的编译器不怎么样,教科书都这么写,以前编辑器也不好,行数越少越好。
当然,这些理由都不存在了。如果分开写一样的话,我同意分开好,但是如果要读
其他人程序的话,这些简单的是要了解的。因为不能强迫别人按你的风格写。
*i++这些还是有用的,有时候非用不可。当然一切都按怎么样表达清楚怎么来了。
*p++=*v++也不是非常难懂,还好饿。
【在 a****l 的大作中提到】 : 讨论一下,为什么很多人喜欢用*p++=*v++这种表达式呢?我觉得写成分开的行更好: : *p=*v; : p++; : v++; : 这样一来就不可能有sequence point和operator priority的问题了. : 就算把他们写在一起,机器代码还是必然是象上面一样的分开来的.现在的c编译器也总 : 是能把代码优化成最合适的.
|
X****r 发帖数: 3557 | 6 简洁。读一行比读三行快,而其实更容易读懂,因为这是极其常用的用法。
并且节约了垂直方向的空间,可以一屏读更多的代码。
【在 a****l 的大作中提到】 : 讨论一下,为什么很多人喜欢用*p++=*v++这种表达式呢?我觉得写成分开的行更好: : *p=*v; : p++; : v++; : 这样一来就不可能有sequence point和operator priority的问题了. : 就算把他们写在一起,机器代码还是必然是象上面一样的分开来的.现在的c编译器也总 : 是能把代码优化成最合适的.
|
g*********s 发帖数: 1782 | 7 u assume everyone should use it often.
【在 X****r 的大作中提到】 : 简洁。读一行比读三行快,而其实更容易读懂,因为这是极其常用的用法。 : 并且节约了垂直方向的空间,可以一屏读更多的代码。
|
t****t 发帖数: 6806 | 8 there are some "pattern" that are used frequently. for example, most people
use i++ instead of i=i+1 or i+=1. should we use i=i+1? probably, but as a c/
c++ programmer, you are supposed to know i++ means i=i+1 and you are
supposed to know it instantly. the same for *p++.
【在 g*********s 的大作中提到】 : u assume everyone should use it often.
|