关于side-effect ??

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

我比较困惑的是

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

如果要写出side-effect-free的functor要注意哪些方面的问题?
...全文
256 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧