[cpp] Multi args
Viewer
- #include <iostream>
- #include <vector>
- struct add{
- int sum = 0;
- add(int i) : sum(i) {}
- add& operator()(int i){
- sum += i;
- return (*this);
- }
- int operator()(){
- return sum;
- };
- };
- template<typename VALUE>
- VALUE addVec(std::initializer_list<VALUE> &&list){
- std::vector<VALUE> vec = list;
- VALUE sum = 0;
- for (auto& iter : vec)
- sum += iter;
- return sum;
- }
- int main(){
- // ADD STRUCT
- int a = add(4)(5)(6)(7)();
- std::cout << "add: " << a << std::endl;
- // ADD VEC
- int b = addVec({4, 5, 6, 7});
- std::cout << "addVec: " << b << std::endl;
- /* Lista inicjalizatora wymaga C++11
- OUTPUT:
- add: 22
- addVec: 22
- */
- }
Editor
You can edit this paste and save as new: