关于side-effect ??

tangtao 2001-05-22 06:30:00
在关于algorithm的讨论中,很多都提到side-effect
比如for_each 的functor允许有side-effect ,而transform 则不允许!

我比较困惑的是

side-effect 的比较严格的定义是什么?

如果要写出side-effect-free的functor要注意哪些方面的问题?
...全文
231 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tangtao 2001-05-23
两位可能没明白我的意思
我只是想知道针对STL中的algorithm,为这些algorithm写functor可能会存在那些负作用
这是后来我在cuj一篇文章上看到的一段话:
[2] The Standard defines a side effect as follows: Accessing an object designated by a volatile lvalue, modifying an object, calling a library I/O function, or calling a function that does any of those operations are all side effects, which are changes in the state of the execution environment.

  • 打赏
  • 举报
回复
cber 2001-05-22
side effect的中文意思是“副作用”
主要是语句在完成它想要做的事情之后顺便还干了其他的事情;-)
例如++,--就有side effect
不知道这样讲你明白了吗?
  • 打赏
  • 举报
回复
Edward 2001-05-22
side effect 并不是什么严格的学术术语,而是指容易被人忽略的结果或者使用不当引起的不好的后果,在英语日常用语中也很常见。例如,众所周知,C/C++ 的 ++/-- 运算符带有很容易导致错误的 side effect。
  • 打赏
  • 举报
回复
发帖
C语言
加入

6.6w+

社区成员

C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
申请成为版主
帖子事件
创建了帖子
2001-05-22 06:30
社区公告
暂无公告