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。

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

最后,寒假冲啊!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】线程threading与GUI窗口tkinter结合应用

Python的threading模块是一个强大的工具&#xff0c;它提供了高级别的线程编程接口。通过这个模块&#xff0c;Python程序员可以在应用程序中实现多线程并发执行。 线程&#xff08;Thread&#xff09;是程序执行流的最小单元&#xff0c;被包涵在进程之中&#xff0c;是进程中…

GitHub图床搭建

1 准备Github账号 如果没有Github账号需要先在官网注册一个账号 2 创建仓库 在github上创建一个仓库&#xff0c;随便一个普通的仓库就行&#xff0c;选择公共仓库 并且配置github仓库的pages&#xff0c;选择默认访问的分支及默认路径 3 github token获取 github token创…

线下安防监控店如何制作小程序商城?开通线上销售渠道

线下安防监控店可以通过制作小程序商城来开通线上销售渠道&#xff0c;为顾客提供更方便快捷的购物体验。下面介绍一种简单的制作小程序商城的方法。 首先&#xff0c;登录【乔拓云】网后台&#xff0c;进入【商城】管理页面。在该页面中&#xff0c;找到并点击【小程序商城】模…

第一次开发基于SpringBoot的Java应用

第一次开发基于SpringBoot的Java应用 一、 方式1&#xff1a;IDEA创建New Project Spring Boot官方文档的Getting Started1、IDEA创建New Project2、Spring Boot官方文档的Getting Started2.1 Creating the POM &#xff08;实际是&#xff0c;更新pom.xml&#xff09;2.2 Add…

如何选择适合的乔拓云小程序付费服务

在数字化时代&#xff0c;微信小程序已经成为商家与客户互动的重要平台。乔拓云小程序作为一款便捷的微信小程序&#xff0c;不仅提供免费的基本功能&#xff0c;还为商家提供了多种付费增值服务和广告投放选择&#xff0c;以满足不同需求。本文将为您揭秘乔拓云小程序的费用明…

rabbitmq基础教程(ui,java,springamqp)

概述&#xff1a;安装看我上篇文章Docker安装rabbitmq-CSDN博客 任务一 创建一个队列 这样创建两个队列 在amq.fanout交换机里面发送数据 模拟发送数据 发送消息&#xff0c;发现一下信息&#xff1a; 所以得出理论&#xff0c;消息发送是先到交换机&#xff0c;然后由交换机…

部署配置zabbix监控平台(server端)

目录 引言&#xff1a;明人不说暗话&#xff0c;分享一下部署配置zabbix监控平台的详细过程 1.进入官网 2.进入下载页面选择需要下载的版本信息 &#xff08;案例zabbix5.0&#xff09; 划到下面有安装的过程&#xff0c;下面我详细讲解一下这些步骤 3、安装Zabbix存储库 …

Tide Quencher 7.1WS azide,TQ7.1WS N3,适用于多种荧光物质的分析

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Tide Quencher 7.1WS 叠氮&#xff0c;TQ7.1WS 叠氮&#xff0c;Tide Quencher 7.1WS azide&#xff0c;TQ7.1WS N3&#xff0c;TQ7.1WS azide&#xff0c;Tide Quencher 7.1WS N3 一、基本信息 产品简介&#xff1…

【揭秘AI】穿越时光隧道,探秘AI起源与发展01

算盘 被誉为世界上最古老的计算机之一&#xff0c;是一种手动操作的计算工具&#xff0c;起源于中国。它主要由框、梁和珠子组成&#xff0c;通过移动珠子在档位上的位置来进行加减乘除运算。算盘的发明时间可以追溯到公元前或公元初期&#xff0c;据历史记载&#xff0c;东汉…

vue实现 marquee(走马灯)

样式 代码 <div class"marquee-prompt"><div class"list-prompt" refboxPrompt><span v-for"item in listPrompt" :title"item" class"prompt">{{item}}</span></div> </div>data() {…

【IAP】核心开发流程

最近做了IAP U盘升级模块开发&#xff0c;总结下IAP基本开发流程&#xff0c;不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例&#xff0c;0x08000000到0x0807FFFF为FLASH空间&#xff0c;即上图代码区域…

多线程中的run方法和start方法有什么区别?

package org.example;public class MyThread2 extends Thread{/*1&#xff1a;继承Thread2:重写run方法3:创建实例对象并且启动线程* */public static void main(String[] args) {MyThread2 myThread1new MyThread2();myThread1.start();}Overridepublic void run() {for (int …

重置aws上的ssh默认登录端口

aws上的ec2机器&#xff0c;默认ssh的登录都是22&#xff0c;为了防止被黑&#xff0c;记录下修改该默认端口的方法 修改/etc/ssh/sshd_config文件,将Port 22注释去掉在上面的文件中&#xff0c;加入一行&#xff0c;你想要增加的端口号&#xff0c;格式和22一致注意&#xff1…

华清远见作业第二十九天——网络编程(第四天)

思维导图&#xff1a; 基于UDP的TFTP文件传输 代码&#xff1a; #include <a.h> void menu(); int download(int cfd, struct sockaddr_in sin); int up(int cfd, struct sockaddr_in sin); #define SER_PORT 69 #define SER_IP "192.168.125.4" int main(in…

ssh免密登录 ssh公钥分发 ssh密钥生成

在连接服务器时&#xff0c;我们会被要求输入用户名对应的密码&#xff0c;如下&#x1f447;&#xff1a; 如果我们要登录的服务器是常用服务器&#xff0c;那么每次登录输入密码就会比较麻烦。那么如何免密登录呢&#xff1f;那就需要使用到rsa公私钥认证了。 生成rsa密钥…

c++的const和C语言的const的区别

C语言的const 首先&#xff0c;C语言中并不认为const限定的变量是常量&#xff0c;它只是将变量设置为只读的形式了&#xff0c;并不是将其变为了变量。 可以在代码中定义一个const限定的变量&#xff0c;我们知道C语言定义数组只能使用常量&#xff0c;你使用const定义的变量…

Python ❀ 使用代码实现API接口调用详解

文章目录 1. 工具准备1.1. requests代码包1.2. BurpSuite抓包工具 2. 操作过程2.1. 一个简单的请求2.1.1. Burp获取响应2.1.2. 转发获取响应 2.2. 构造GET类型URL参数2.3. 构造请求头部2.4. 构造POST类型payload数据 本文主要讲解常用API接口如何使用python实现。 API&#xff…

使用WAF防御网络上的隐蔽威胁之扫描器

在网络安全领域&#xff0c;扫描器是用于侦察和识别网络系统漏洞的工具。 它们可以帮助网络管理员识别安全漏洞&#xff0c;也可能被攻击者用来寻找攻击目标。 扫描器的基本概念 定义&#xff1a;扫描器是一种自动化工具&#xff0c;用于探测网络和服务器中的漏洞、开放端口、…

图解渠道网关:不只是对接渠道的接口(一)

这是《百图解码支付系统设计与实现》专栏系列文章中的第&#xff08;20&#xff09;篇。点击上方关注&#xff0c;深入了解支付系统的方方面面。 主要讲清楚什么是渠道&#xff0c;有哪些类型的渠道&#xff0c;什么是渠道网关&#xff0c;渠道网关在支付系统中定位、核心功能…

springboot第49集:【思维导图】多线程,常用类与基础API,集合框架,泛型,数据结构源码...

多线程创建方式一&#xff1a;继承Thread类多线程创建方式二&#xff1a;实现Runnable接口jdk5.0新增两种创建多线程的方式 image.png image.png image.png image.png image.png new Thread(new Runnable() {public void run() {for (int i 1; i < 100; i) {if (i % 2 0) …