for_each 源码剖析
来源:互联网 发布:加入淘宝要多少钱 编辑:程序博客网 时间:2024/06/13 06:48
一:用法解析
函数原型:template <class InputIterator, class Function>
Function for_each (InputIterator first, InputIterator last, Function fn);
功能:
对[ first , last )范围内的元素执行Function操作。
例子:
// for_each example#include <iostream> // std::cout#include <algorithm> // std::for_each#include <vector> // std::vectorvoid myfunction (int i) { // function: std::cout << ' ' << i;}struct myclass { // function object type: void operator() (int i) {std::cout << ' ' << i;}} myobject;int main () { std::vector<int> myvector; myvector.push_back(10); myvector.push_back(20); myvector.push_back(30); std::cout << "myvector contains:"; for_each (myvector.begin(), myvector.end(), myfunction); std::cout << '\n'; // or: std::cout << "myvector contains:"; for_each (myvector.begin(), myvector.end(), myobject); std::cout << '\n'; return 0;}运行如下:
myvector contains: 10 20 30
myvector contains: 10 20 30
二:源码剖析
// TEMPLATE FUNCTION for_eachtemplate<class _InIt,class _Fn1> inlinevoid _For_each(_InIt _First, _InIt _Last, _Fn1& _Func){// perform function for each elementfor (; _First != _Last; ++_First)_Func(*_First);}template<class _InIt,class _Fn1> inline_Fn1 for_each(_InIt _First, _InIt _Last, _Fn1 _Func){// perform function for each element_DEBUG_RANGE_PTR(_First, _Last, _Func);_For_each(_Unchecked(_First), _Unchecked(_Last), _Func);return (_STD move(_Func));}
源码摘抄自Visual Studio 2015安装目录algorithm文件中。
点击进入目录----> C++源码剖析目录
1 0
- for_each 源码剖析
- for_each
- for_each
- for_each
- for_each
- for_each
- for_each
- for_each
- for_each
- for_each
- for_each
- 《stl源码剖析》剖析
- STL中for_each的源码大概是这个样子的
- 【源码】ArrayList源码剖析
- 【源码】LinkedList源码剖析
- 【源码】HashMap源码剖析
- 【源码】HashMap源码剖析
- 【源码】Hashtable源码剖析
- Android基础学习之Android 四大组件详解
- 单例模式
- 个人对main函数解析
- 【我的代码】java初级练手小项目--局域网聊天室
- 【杭电2199】Can you solve this equation?
- for_each 源码剖析
- 动态规划之划分动态规划:矩阵链乘 poj 1651 Multiplication Puzzle
- UVA1585
- 工厂方法模式
- STM32学习-深入理解待机实验
- shiro 注解
- 借用Redis生成主键实现所有类新增不再需要手动配置主键,序列什么的通通GG
- 创建物理卷报错Can't open /dev/sdb5 exclusively. Mounted filesystem的问题解决过程记录
- WinDBG 设置条件断点