为什么`std :: find_if`是通过循环展开来实现的,而`std :: for_each`不是呢?

时间:2019-10-27 20:42:55

标签: c++ gcc stl libstdc++

标准库的public void onUIcreated() { // Add event listeners to all buttons in the canvas Button[] buttons = canvasPrefab.GetComponentsInChildren<Button>(); for (int i = 0; i < buttons.Length; i++) { string identifier = buttons[i].name; buttons[i].onClick.AddListener(delegate { OnButtonTapped(identifier); }); } } public void OnButtonTapped(string identifier) { Debug.Log("Pressed button:" + identifier); } 实现使用RA迭代器的循环展开和其他搜索功能(gccfind_ifsearch,等等),方法是调用none_of来重复使用该优化(如果适用)。

但是,为什么find是唯一以这种方式优化的功能,而不是例如find_if

0 个答案:

没有答案