问题标题: 神奇的输入函数(自创)

0
0
已解决
薛乘志
薛乘志
初级启示者
初级启示者

把这段代码加到头文件后面,设置一下编译标准c++11(其实不设也行),就可以用了

基于不定参数模板

namespace std {
//input()
	template <typename A>
	void input(A &arg) {
		std::cin >> arg;
	}
	template <typename A, typename ...B>
	void input(A &arg, B &...args) {
		std::cin >> arg;
		input(args...);
	}
//print()
	template <typename A>
	void print(A arg) {
		std::cout << arg;
	}
	template <typename A, typename ...B>
	void print(A arg, B ...args) {
		std::cout << arg;
		print(args...);
	}
}

用法如下:

using namespace std;
int main() {
	string n;
	int a;
	input(n, a);
	print(n, " ", a, '\n');
	return 0;
}

 没错!不需要写format,直接可以输入/输出不同类型的数据!!!

 

 

 

完整使用代码:

#include <bits/stdc++.h>

namespace std {
//input()
	template <typename A>
	void input(A &arg) {
		std::cin >> arg;
	}
	template <typename A, typename ...B>
	void input(A &arg, B &...args) {
		std::cin >> arg;
		input(args...);
	}
//print()
	template <typename A>
	void print(A arg) {
		std::cout << arg;
	}
	template <typename A, typename ...B>
	void print(A arg, B ...args) {
		std::cout << arg;
		print(args...);
	}
}

using namespace std;
int main() {
	string n;
	int a;
	input(n, a);
	print(n, " ", a, '\n');
	return 0;
}

 

薛乘志在2022-02-26 17:51:46追加了内容

现在暂时不能用endl换行


0
已采纳
刘英杰
刘英杰
新手天翼
新手天翼

致力于优化C++

看来C++15就要看你了

0
我要回答