蓝桥杯做题模板及其解释

1.头文件#include<bits/stdc++.h>

1.1用处

#include<bits/stdc++.h>

我们在写代码的时候,会用上许多的默认头文件,例如

#include <iostream>
#include <stdio.h>
#include <assert.h>
#include <sting.h>
#include <stdlib.h>
.......

但是比赛中我们要么是不记得,要么记得也很容易遗漏一些,导致时间上的浪费等等问题,此时我们使用一个万能头文件

#include<bits/stdc++.h>

就可以快捷包含这些所有了。

1.2局限性

我们在工作中写大项目时轻易不可用这一头文件,它相当于把全部的头文件内容内容全部展开,给编译器造成巨大负担

2.程序开头加ios_base::sync_with_stdio(false)

2.1用处

我们平时使用cout于cin进行输入输出是比printf和scanf要方便许多的,但是cout和cin的效率相对较低,只要加了这一行代码,我们就可以让cin和cout的效率大大提高,但是注意不能再用scanf和printf了。

2.2它的本质

他是std命名空间下创建的类类型ios_base中的一个成员函数,其存在意义是为了使cin,cout,scanf,printf联合使用时总输入输出效果不混乱。

它的参数列表有一个bool类型对象,默认为true,要知道cin和scanf以及cout和printf分处于不同的缓冲区,而程序正是与缓冲区直接交互实现输入输出,该参数为true可使缓冲区重叠的时候自动排序。

3.程序开头加cin.tie(nullptr)和cout.tie(nullptr)

3.1用处 

如果说第2点可以大幅提高cin和cout的效率但有缺点,那加上这两个就是能提高效率且无缺点(当然,最好3句都加上)。

3.2为什么加他们

在istream与ostream类类型对应的变量cin和cout中,有一个tie函数,它的参数列表是一个地址类型

用来维系cin与cout中的某种绑定关系(展开讲太多,有兴趣请另行查阅),向tie函数中传入0或者nullptr之后,可以取消此种绑定关系

4.初始代码效果

#include<bits/stdc++.h>
using namespace std;

ios_base::sync_with_stdio(false);

cin.tie(nullptr);
cout.tie(nullptr);


int main()
{
    //代码
    return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值