首页 > 其他分享 >ios::sync_with_stdio(false);

ios::sync_with_stdio(false);

时间:2023-04-06 20:22:40浏览次数:43  
标签:std 同步 false stdio ios cin C++ sync 标准

在阅读学习别人的代码的过程中,我们有时会发现这么一行:

std::ios::sync_with_stdio(false);

这是由于cin比scanf要慢很多,在需要大量读入时,用此行代码可以使cin更快。

为什么cin比scanf更慢呢?

标准 C++ 流与标准 C 流在每次输入/输出操作后同步,同步的 C++ 流为无缓冲,而每次 C++ 流上的 I/O 都立即应用到对应 C 流的缓冲区。这使得能自由地混合 C++ 与 C I/O 。

另外,同步的 C++ 流保证为线程安全(从多个线程输出的单独字符可能交错,但无数据竞争)。

若关闭同步,则允许 C++ 标准流独立地缓冲其 I/O ,可认为这在某些情况下更快。

所有八个标准 C++ 流默认与其相应的 C 流同步。

若在标准流上已出现 I/O 后调用此函数,则行为是实现定义的:有的实现无效果,有的实现销毁读取缓冲区。

标准 C++ 流为下列者: std::cin 、 std::cout 、 std::cerr 、 std::clog 、 std::wcin 、 std::wcout 、 std::wcerr 和 std::wclog 。

标准 C 流为下列者: stdin 、 stdout 和 stderr 。

标签:std,同步,false,stdio,ios,cin,C++,sync,标准
From: https://www.cnblogs.com/yitongtianxia666/p/17294042.html

相关文章

  • ios17如何更新
    相信大家已经迫不及待的想要更新ios17了吧,ios17拥有更多的功能可以给我们使用,今天我们就来看一下如何更新ios17版本,下面跟着步骤一起做就好了。ios17如何更新:1、首先我们打开手机的设置。2、然后我们在设置中找到通用。3、接着我们就可以找到软件更新。4、最后手机就可以自......
  • iOS - 小文件下载篇(边下载边写入文件)
    先签订NSURLConnectionDataDelegate#defineMSFileWithPath(path)[[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES)lastObject]stringByAppendingPathComponent:path]-(void)viewDidLoad{[superviewDidLoad];NSStr......
  • vue第八课:axios库的使用
    axios功能强大的网络请求库。<scriptsrc="https://unpkg.com/axios/dist/axios.min.js"></script>基础使用:axios.get(地址?key=value&key2=values).then(function(response){},function(err){})axios.get(地址,{key:value,key2:value2}).then(function(response......
  • Android(安卓)IOS(苹果)判断是否开启通知权限
    在首页onLoad调用permissions()方法;this.permissions();permissions()方法具体代码://判断是否有通知权限permissions(){//#ifdefAPP-PLUSif(plus.os.name=='Android'){//判断是Androidva......
  • ios17如何更新wxtxz.com
    相信大家已经迫不及待的想要更新ios17了吧,ios17拥有更多的功能可以给我们使用,今天我们就来看一下如何更新ios17版本,下面跟着步骤一起做就好了ios17如何更新:1、首先我们打开手机的设置。2、然后我们在设置中找到通用。3、接着我们就可以找到软件更新。4、最后手机就可以自动检......
  • 小程序兼容ios底部小黑条
    env()和constant(),是IOS11新增特性,用于设定与边界的距离,一共有4个变量:safe-area-inset-left:距离左边边界的距离safe-area-inset-right:距离右边边界的距离safe-area-inset-top:距离顶部边界的距离safe-area-inset-bottom:底部边界的距离在IOS11.2以前,可以使用constant()......
  • Linux IO实时监控iostat命令详解
    简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法iostat[-c][-d][-h][-N][-k|-m][-t][......
  • @JsonIgnore 失效没起作用及 @JSONField(serialize = false)
    项目中需要对接口返回的某一个字段进行屏蔽,返回给前端响应的时候,不显示某个字段。第一时间想到在实体类屏蔽的属性字段上添加@JsonIgnore注解,但添加之后并没有起作用。在网上搜索了下,使用@JSONField(serialize=false)注解,便可以在返回响应参数体的时候去除某个字段。......
  • uni-app:ios/android中的nvue和vue页面加载自定义字体(hbuilderx 3.7.3)
    一,官方文档地址:https://uniapp.dcloud.net.cn/tutorial/nvue-api.html#addrule二,代码1,nvue页面:模板<viewclass="listTitle">{{item.title}}</view>......
  • IOS多线程之NSOperation(2)
    IOS多线程之NSOperation(2)最大并发数openvarmaxConcurrentOperationCount:Int并发数就是同时执行的任务数。比如,同时开3个线程执行3个任务,并发数就是3。但是,并发数是3,并不代表开启的线程数就是3,也有可能是4个或者5个。因为线程有可能在等待,进入了就绪状态。执行的过程:......