在用于竞争性编程的DMOJ在线判断中,如果问题只需要读取无符号整数数据类型,那么更快执行时间(C++)的提示之一是将此宏添加到顶部.
这是如何工作的以及使用它的优点和缺点是什么?
#define scan(x) do{while((x=getchar())<'0'); for(x-='0'; '0'<=(_=getchar()); x= (x<<3)+(x<<1)+_-'0');}while(0)
char _;
Run Code Online (Sandbox Code Playgroud)