diff --git "a/src/\347\276\244\345\217\213\346\217\220\344\272\244/\347\254\25401\351\242\230/youmu_lew.cpp" "b/src/\347\276\244\345\217\213\346\217\220\344\272\244/\347\254\25401\351\242\230/youmu_lew.cpp" new file mode 100644 index 00000000..f32b9faa --- /dev/null +++ "b/src/\347\276\244\345\217\213\346\217\220\344\272\244/\347\254\25401\351\242\230/youmu_lew.cpp" @@ -0,0 +1,20 @@ +#include +#include +#include + +template +std::vector& operator|(std::vector& v, Func func) { + for (auto& i : v) { + func(i); + } + return v; +} + +int main(){ + std::vector v{1, 2, 3}; + std::function f {[](const int& i) {std::cout << i << ' '; } }; + auto f2 = [](int& i) {i *= i; }; + v | f2 | f; +} + +// 预期结果: 1 4 9