C++读入优化和输入优化模板

本文探讨了C++中的读入优化,重点在于整数的高效读取。通过使用getchar函数配合适当处理,实现了读入优化。文章详细解释了绝对部分处理的概念,即在读取每一位数字时为下一位预留空间,并给出了处理多余空格和乱码字符的注意事项。此外,还附带了三个相关的代码示例。
摘要由CSDN通过智能技术生成

读入优化

首先,读入优化只是针对整数,getchar读字符是非常快,所以我们就用getchar。

绝对部分处理

getchar每次只能读一位,所以,每当读了一位时x*=10,为这一位“留位置”。
举个例子:现在读入了123,x为123,再读入了一个4,x*=10,变为了1230,现在它的最后一位空出来了,正好留给4,x+=4,x就变为了1234,当然,这里的’4’是char类型,需要减去’0’才是4,即:x=x*10+s-‘0’(s为当前输入的字符

细节

很多时候是有多余空格或者其他的乱码字符输入,为了防止bug,我们要严谨

代码1
void read(int &x)//'&'表示引用,也就是说x是一个实参,在函数中改变了x的值就意味着在外面x的值也会被改变
{
   
    int f=1;//标记正负
    x=0;//归零(这就是潜在bug,有可能传进来时x没有归零)
    char s=getchar();//读入第一个字符
    while(s<'0'||s>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值