给定以下函数调用:
f(g(), h())
由于未指定函数参数的求值顺序(据我所知,仍然是C ++ 11中的情况),理论上可以执行g()
并h()
并行执行吗?
这种并行化只能踢都g
和h
已知相当琐碎(最明显的情况下,仅访问数据的本地,以自己的身体),以免引入并发问题,但是,除此之外,限制我什么都看不到,禁止它。
那么,标准允许吗?即使仅按常规规则进行?
(在此答案中,Mankarse主张相反;但是,他没有引用该标准,而且我的通读[expr.call]
并未显示任何明显的措辞。)