Блог пользователя vaibhavg_21

Автор vaibhavg_21, история, 3 года назад, По-английски

For reading a vector or any STL in C++ I was initialliy using a marco

#define read(x) for(auto &inps: x) cin>>inps
int n = 5;
vector<int> a(n),b(n),c(n);
read(a);
read(b);
read(c);

But for reading multiple vectors I want to implment a kind of function or macro that does something like

int n = 5;
vector<int> a(n),b(n),c(n);
read(a,b,c);

Can someone help me that how to implement this? I have tried to implement this using templates and macros but i am facing error. Here I have attached the code that I had implemented.

#define read(args...) read1(args)

template<typename T, typename... Args>
void read1(T &a, Args... args) {
    for(auto &i:a) cin >> i;
    read1(args...);
}
  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
3 года назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

add base case and pass args in function by reference

code