文章目录

  • 前言
    • 失踪人口回归!!!!~~(芜湖)~~
    • 浅谈亿下坐牢半个多月了解到的神奇小玩意儿 ~~***(黑科技)***~~
  • 一、cin/cout速度++
    • 1.Reason
    • 2.ios::sync_with_stdio(false)你值得拥有!!
    • 3.食用方法
  • 二、i++与++i
    • 1.大佬为何在for循环中更倾向于用++i?
    • 2.原理
  • 三、寄存器(卡常党快来)
    • 1.Reason
    • 2.方法
    • 3.原理
    • 4.注意事项
  • 码字不易,会不定期更新,求点赞、收藏、关注!!

前言

失踪人口回归!!!!(芜湖)

浅谈亿下坐牢半个多月了解到的神奇小玩意儿 (黑科技)


一、cin/cout速度++

1.Reason

众所周知,C语言的scanf/printf是比C++< iostream >中的cin/cout要快很多的,所以哪怕是C++党在输入输出上也更倾向于使用scanf/printf (但有一说一,cin/cout用起来是真舒服,容错率大大滴高)
But!!!!
string
记得这个吗??
这个处理字符串类问题时无比好用的东西表示:

(自制表情包,不好勿喷)

2.ios::sync_with_stdio(false)你值得拥有!!

cin/cout之所以效率低,是因为要输出的东西先要存入缓冲区,再输出,效率低
而ios::sync_with_stdio(false)可以打消iostream的输入/输出缓存,使效率与scanf与printf相差无几,大大减少时间

3.食用方法

#include<iostream>
using namespace std;
int main(){ios::sync_with_stdio(false);............return 0;
}

与freopen类似,将ios::sync_with_stdio(false); 加在输入输出前即可
cin/cout:三十年河东,三十年河西,莫欺少年穷,我也有站起来的一天

二、i++与++i

1.大佬为何在for循环中更倾向于用++i?

虽然都是自加,但++i效率比i++更高 (神奇的卡常优化又增加了)

2.原理


因为 【CENSORED】【CENSORED】 ,所以 【CENSORED】 (该内容仅对V级员工开放)
简单来说,i++ 是用一个变量存储 i ,再将 i 的值加一,最后返回那个变量(也就是 i 自加之前的值),而 ++i的话就是直接自加,然后返回自己的值,故效率更高。

三、寄存器(卡常党快来)

1.Reason

在某些题目中,总会有一两个测试点故意恶心你,让你Time Limit Exceeded (Time Limit Enough) ,让你不得不放弃先前的努力,去用更令人头疼优的算法&&数据结构。
这种情况下,不妨试一下寄存器,它可以提高变量&&函数的运行效率。

2.方法

register 变量类型 变量名称;
inline 函数类型 函数名称;

举个简单的例子:斐波那契数列


#include<cstdio>
int n;
inline int f(int x){if(x==1||x==2)return 1;return f(x-1)+f(x-2);
}
int main(){scanf("%d",&n);for(register int i=1;i<=n;++i)printf("%d ",f(i));return 0;
}

PS:我知道这个方法效率低,但该代码只是为了展示寄存器的用法,杠精不要叫。

3.原理


【CENSORED】【CENSORED】【CENSORED】仅对V级员工开放【CENSORED】【CENSORED】【CENSORED】
大可不必详细了解详细内部过程,我也就用尽可能简单易懂的讲解一下。
众所周知,计算机的数据都是存在硬盘里,而CPU进行运算时肯定不是直接用内存里的数据。CPU里面其实是有一小块内存的,当计算时,会先从内存中将需要数据导入到CPU中,在进行运算。当你用了inline/register后:
数据就会直接存在CPU的内存里,所以效率会有提升。

4.注意事项

不要把什么东西都往寄存器里塞!!!!会出现莫名Runtime Error||Memory Limit Exceeded!!!!
一般只有循环变量和频繁使用的函数才使用寄存器。


码字不易,会不定期更新,求点赞、收藏、关注!!

C++你不知道的小技巧(失踪人口回归)相关推荐

  1. 失踪人口回归微信小程序毕业设计(二)

    失踪人口回归微信小程序毕业设计(二)**** 当时受到老师的一个启发,对现在大学生生活管理时间的观念开发一个这样的小程序,还有一个就是小程序上线方便,多年后还能看到当初青春的记忆. 成品展示 现在看来 ...

  2. 【 失踪人口回归】新·学期

    失踪人口回归 看板娘已经快半年没有更新博客啦,对不起各位,也悔恨自己的摆烂

  3. Windows 输入法 你不知道的小技巧

    关于Windows 输入法 你不知道的小技巧 U 模式 再平常的输入中,如果遇到不认识的字,可以先打一个u,再打组成这字的拼音或部首.比如 "又双叒叕"这个字不知道怎么读,就可以先 ...

  4. 软文伪原创你不知道的小技巧

    不管是运营还是网站优化,写软文吸引用户.提高网站的收录总是离不开伪原创三个字.长时间的头脑风暴.原创输出对于大家来说都是一个考验,所以也就有了伪原创的产生.那为了高效的完成软文伪原创,就有一些小技巧了 ...

  5. 干货|学原画时的那些你不知道的小技巧!

    很多小伙伴在初学原画的时候,都抱怨学原画难,不知道从哪里入手.其实学习原画很简单,今天小编就来给大家分析一下学习原画时候的一些小技巧. 图片来自网络 丰富你的背景 虽然我们在制作游戏原画的时候,人物是 ...

  6. win10那些你不知道的小技巧操作又来了

    有段时间没给大家分享win 10的小技巧了,感觉小伙伴们还是挺喜欢这个系列的. 至于为什么win 11都出来了,我还要继续更新win 10小技巧呢,因为我知道还有很多人没有升级. 一.自动打开程序 如 ...

  7. macbook版ppt keynote 一些你不知道的小技巧

    文章目录 参考线 修改母版 取色器 播放背景音乐 参考线 进入keynote界面,ctrl + R 显示标尺,然后从标尺里往出拖,就可以拖出参考线啦 删除也是一样,再把参考线拖回到标尺处 修改母版 母 ...

  8. 你不知道的小技巧 — 把对象交给spring管理的3种方法及经典应用

    背景 先说一说什么叫把对象交给spring管理.它区别于把类交给spring管理.在spring里采用注解方式@Service.@Component这些,实际上管理的是类,把这些类交给spring来负 ...

  9. 实用!你不知道的小技巧,电脑快速实现屏幕长截图

    在日常工作中,我们经常需要用到屏幕长截图这个功能,而要实现这个功能往往需要下载好几个软件,而且经常截图的效果并不如意. 其实国民软件QQ目前已经有了长截图功能. 首先下载QQ最新版,然后在需要截图的页 ...

最新文章

  1. 开源库libuuid简介及使用
  2. C++ (14) 异常处理
  3. java实现一个单例设计模式_Java正确实现一个单例设计模式的示例
  4. 华南理工网络计算机基础知识,2019年华南理工大学网络教育计算机基础随堂练习题第一章.docx...
  5. python实现列表去重改变顺序_python实现文本去重且不打乱原本顺序
  6. POJ 3415 Common Substrings (求长度不小于k的公共子串的个数)
  7. rocketmq 两个线程同时消费一个消息
  8. VC6.0 files---open 出现 MSDEV.exe错误,Project ---- add to project 出现错误等等~~
  9. 微信支付H5完整版代码
  10. uploadify php demo,php uploadify上传
  11. 【标题】win只能打开部分软件例如QQ,UU加速器,浏览器无法打开
  12. Python之字体反爬详细操作
  13. C程序设计——打飞机
  14. eclipse没有web项目
  15. 知道打印机的IP地址,win10怎样连接打印机?
  16. 【APT】The following signatures were invalid
  17. 在Android Studio如何制作聊天气泡
  18. 科普系列:AUTOSAR与OSEK网络管理比较(上)
  19. 等保三级核心-应用安全
  20. 看看电销外呼系统排行,选择哪家外呼公司靠谱?

热门文章

  1. 文件已在资源管理器中打开无法删除解决方法
  2. 亚太教育杂志亚太教育杂志社亚太教育编辑部2022年第8期目录
  3. 麻省理工最新研究:血虐人类玩家的RL智能体,在纸牌游戏中从最强对手变成“猪队友”...
  4. python内循环语句的使用
  5. BitComet(比特彗星)2016官方版
  6. 金三银四、金九银十 面试宝典 MySQL面试题 超级无敌全的面试题汇总(超万字的面试题,让你的MySQL无可挑剔)
  7. 中国口岸统计资料 2001-2015年
  8. 区块链之java调用智能合约(一)编译智能合约
  9. ubuntu12.04安装QQ2012教程
  10. 关于Stram流(1)——循环遍历