[cpp] Multi args better
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;
- }
- template<typename VALUE>
- struct Add {
- VALUE sum;
- Add(VALUE i) : sum(i) {}
- Add& operator ()(VALUE i){
- sum += i;
- return (*this);
- }
- operator VALUE(){
- 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;
- int c = Add<int>(4)(5)(6)(7);
- std::cout << "Add: " << c << std::endl;
- }
Editor
You can edit this paste and save as new:
File Description
- Multi args better
- Paste Code
- 29 Oct-2020
- 984 Bytes
You can Share it:
Latest Code Pastes