C++初入(四)

1.万能头文件

#include <bits/stdc++.h>

里面包含了大量我们日常所需的头文件,如果使用它,我们就可以减少大量时间去写头文件,但是其实在平常练习和实际运用中,该头文件几乎没有实际价值,原因:1.里面虽然包含大量头文件,但是并不全面 2.对于我们学习过程中不利于养成好的习惯。所以,如果你是为了打比赛节省时间,那么使用该头文件不失为一种好的方法,但建议平时学习过程中还是自己动手为主,实在忘了头文件,可以去下面这个网址上查找,而非因小失大:

cplusplus.com - The C++ Resources Network

下面我们也把该头文件所包含的内容写出来,大家可以适当了解下!

// C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif

注:转载自:【C++】万能头文件 <bits/stdc++.h> 的用法和优缺点-CSDN博客

2.取消同步流操作

相信大家很多人对此了解不是很多,什么是取消同步流呢?

说简单点就是加快cin/cout读取速度!

比较与printf/scanf,cin/cout读取速度是有明显的降低的,原因便在于:对于cin/cout来说,内部读写需要自动判断变量类型以及其他种种原因浪费大量时间,而printf/scanf则不同,它们是明确了类型的,所以读取效率相对较高,那么我们有没有解决办法呢?

sure,我们此时就可以通过取消同步流操作来加快读写速度!

看代码:

ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);

如果你在实际需要中读写量非常大的情况下,可以通过取消同步流来进行优化,特别是在比赛用途上!

3.scanf知识扩展

如果我们想通过scanf读取一行数据,并且该数据是有空格存在的,该如何操作呢?

例如:读取:hello world!

此时我们就来补充下新的知识,我们可以用下面代码所示方法进行读取:

char s[20];
scanf("%[^\n]", s);//[^\n]表示非换行继续读取
int main()
{char s[20];scanf("%[^\n]", s);printf("%s", s);return 0;
}

结果:

当然,实际运用并不多,而且还麻烦,我们C++还是以cin读取为主,大家可以适当了解,知道有这个东西就行。

4.理解缓冲区概念

大家如果学习一段时间的编程语言,那么或多或少都会听过缓冲区这个术语,那么什么是缓冲区呢?

定义:缓冲区是指一个存储区域,可以保存数据,以便减少刷屏次数。

规则:读cin会刷新一次cout,在·程序非正常终止也会刷新cout。

作用:使我们可以看到程序运行结果不是一个个符号依次出现再刷屏得到下一个符号,使得一部分符号同时出现,大大方便了观察和实际运用。大家如果对这方面有兴趣,可以自行去深入学习,这里只是简单介绍。

最后,寒假冲啊!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/410501.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot教程(七) | SpringBoot解决跨域问题

SpringBoot教程(七) | SpringBoot解决跨域问题 上篇文章我们介绍了SpringBoot的拦截器的写法&#xff0c;其中有一个比较重要的步骤&#xff0c;就是把我们写好的拦截器注册到Spring的一个配置类中&#xff0c;这个类是实现了WebMvcConfigurer 接口&#xff0c;这个类很重要&a…

翻译: Streamlit从入门到精通 高级用法缓存Cache和Session 五

Streamlit从入门到精通 系列&#xff1a; 翻译: Streamlit从入门到精通 基础控件 一翻译: Streamlit从入门到精通 显示图表Graphs 地图Map 主题Themes 二翻译: Streamlit从入门到精通 构建一个机器学习应用程序 三翻译: Streamlit从入门到精通 部署一个机器学习应用程序 四 …

Pytorch基础知识点复习

文章目录 并行计算单卡训练多卡训练单机多卡DP多机多卡DDPDP 与 DDP 的优缺点 PyTorch的主要组成模块Pytorch的主要组成模块包括那些呢&#xff1f;Dataset和DataLoader的作用是什么&#xff0c;我们如何构建自己的Dataset和DataLoader&#xff1f;神经网络的一般构造方法&…

.NET国产化改造探索(三)、银河麒麟安装.NET 8环境

随着时代的发展以及近年来信创工作和…废话就不多说了&#xff0c;这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来&#xff0c;看操作。 上一篇介绍了如何在银河麒麟操作系统上安装人大金仓数据库&#xff0c;这篇文章详细介绍下在银河麒麟操作系统上安装.NET8环境。…

Ubuntu 22.04 安装prometheus

服务器监控和报警软件有很多&#xff0c;为什么我们会选择Prometheus而不是其他软件呢&#xff1f; 因为它有以下优点&#xff1a; 自带简易web监控页面&#xff0c;用户可以很方便地查看监控数据和使用仪表盘。能实时收集数据并根据自定义警报规则推送告警&#xff1b;具有丰…

AI绘图制作红包封面教程

注意&#xff1a;有不懂的话可加入QQ群聊一起交流&#xff1a;901944946欢迎大家关注微信公众号【程序猿代码之路】&#xff0c;每天都会不定时的发送一些红包封面&#xff01;&#xff01; 2024的春节即将到来&#xff0c;而在这春节到来之前&#xff0c;就有一个非常爆火的小…

spring boot学习第八篇:通过spring boot、jedis实现秒单

参考&#xff1a;Redis实现分布式锁的7种方案 - 知乎 1、 准备数据库表&#xff0c;如下SQL表示库存表&#xff0c;有主键ID和库存数量字段 CREATE TABLE t_stock (id bigint(20) NOT NULL AUTO_INCREMENT,quantity bigint(20) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…

0间隔24h采集线报+源码的资源网

一款网站程序零间隔24h采集线报源码的资源网&#xff0c;更新下载类目的采集 及 导入&#xff0c;这款网站程序&#xff1a;jizhiCMS 高仿新版某刀资源网模板进行自动采集。 安装方法&#xff1a; 将根目录文件上传服务器 将根目录文件的sql.sql导入mysql数据库 环境需要支…

【JVM】常用命令

一、前言 Java虚拟机&#xff08;JVM&#xff09;是Java程序运行的基础设施&#xff0c;它负责将Java字节码转换为本地机器代码并执行。在开发过程中&#xff0c;我们经常需要使用一些命令来监控和管理JVM的性能和状态。本文将详细介绍6个常用的JVM命令&#xff1a;jps、jstat…

Linux 系统编程:文件系统的底层逻辑 - inode

《Linux 程序设计》的第三章讲文件操作。在提到 目录 时有这么一段文字&#xff1a; 文件&#xff0c;除了本身包含的 内容 以外&#xff0c;它还会有一个 名字 和一些 属性&#xff0c;即“管理信息”&#xff0c;包括文件的创建 / 修改日期和它的访问权限。这些属性被保存在文…

pytorch一致数据增强—独用增强

前作 [1] 介绍了一种用 pytorch 模仿 MONAI 实现多幅图&#xff08;如&#xff1a;image 与 label&#xff09;同用 random seed 保证一致变换的写法&#xff0c;核心是 MultiCompose 类和 to_multi 包装函数。不过 [1] 没考虑各图用不同 augmentation 的情况&#xff0c;如&am…

成都谷达冠楠:抖音开网店初期需要注意什么

随着互联网的发展&#xff0c;越来越多的人选择在抖音上开设网店。然而&#xff0c;开店初期需要注意的事项有很多&#xff0c;如果处理不当&#xff0c;可能会影响店铺的正常运营。以下是一些关于抖音开网店初期需要注意的事项。 选择商品非常重要。你需要选择有市场需求的商品…