天下之大,无奇不有,C++也是这样,今天小编来盘点几个有意思的代码,看看你认识几个?以后见到之后千万别装不认识。

一、基础篇——不一样的输出

1.cerr 输出

  cout和cerr究竟有什么不同?这也是小编以前很茫然的一部分;

  cout对应于标准输出流,默认情况下是显示器。这是一个被缓冲的输出,可以被重定向。

  cerr对应标准错误流,用于显示错误消息。默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。一般情况下不被重定向。 
  翻译成人话来讲就是cout可重定向,cerr不能重定向,也就是说如果你是搞竞赛的话,please “珍爱生命,远离cerr"。那么,为什么用cerr?比如说:你的程序遇到了栈用完了的情况或者递归无出口之类的情况,没有地方借内存来存放错误信息,自从有了cerr,革命变得焕然一新,在最紧急的情况下,仍能得到输出的支持。
 
 
二、手残篇——懒人的做法
2.传说中的万能头文件!
  #include <iostream> 

  #include <cstdio> 
  #include <fstream> 
  #include <algorithm> 
  #include <cmath> 
  #include <deque> 
  #include <vector> 
  #include <queue> 
  #include <string> 
  #include <cstring> 
  #include <map> 
  #include <stack> 
  #include <set> 
  这一列头文件你是不是看的眼花缭乱呢?
  为了能让我们的手可以不变残,为了让我们的大脑得到休息,为了我们能避免不必要的尴尬,请认准:
  #include<bits/stdc++.h>,对,你没有看错!一个顶13个!像小编这样的,从来都记不住#include<algorithm>,以至于不能用sort~~~,只能手写排序,实属人生一大悲剧。
  那么这么简便的一个头文件在此,其他头文件都得靠边站,要它们有甚用?虽然它在大多oj上的兼容性还蛮好的,但是有一些竞赛是不能使用万能头文件的,据说时间也比较慢,所以不到“山重水复疑无路”,最好不要使用。
 
3.using namespace std;有时候可以不用写!
#include<iostream>
using namespace std;
int main()
{
  cout<<"Hello,world";
  return 0;
}
  小编是一个手懒的人,自然与旁人不同,小编会浓缩成这样。
#include<iostream>
main()
{
  std::cout<<"Hello,world";
}
  对,就是这么霸气!return 0都不带写的,程序仍然可以运行。如果使用using namespace std;语句较少,可以在每句前加std::在特定情况下很方便。
 
4.typedef,一个更偷懒且没有局限性的法宝
  小编以前一直看不懂什么是typedef,也不愿意知道,后来才明白它可以起到一劳永逸的效果。比方说小编在一次比赛中发现题目要求要用long long,且要写多次,小编会在main函数外添一句typedef   long long   ll;这样以后再写long long就写成 ll name;就好了。小编是奇葩中的奇葩,自然不会就此罢休,于是写了一句#define long long ll;并把刚才那句删了,结果还没有任何错误,一样可以达到相同的效果,小编真是太高兴了,因为以后不用背typedef这个单词了。
 
 
三、代码与时间的较量!!!
5.>> 运算 和 << 运算
>> 运算是二进制的情况下,右移多少位,相当于除以2的n次幂 例如: 3>>1 = 1 8>>2 = 2 
<< 运算同理,小编之前一直看不懂这是干什么,最近才明白,小编心里有一个大大的问号,直接写一个a/2什么的不就行了。
像小编这样的蒟蒻是无法理解什么是时间复杂度的,小编只在意怎么能写出题来,如果你是大佬,建议学会这个运算。
 
6.输出的不同 
众所周知,C++中输入输出分为两大部分:cin和cout,scanf和printf;
如果你还在写:
#include<iostream>
using namespace std;
int main()
{
  cout<<"Hello,world!";
  return 0;
}
你就out了,别看cin,cout写起来方便且是C++独有的,其实printf和scanf才是比较快的,如果是参加竞赛,请使用printf和scanf。
 
感谢所有看到最后的同志们,小编还有很多不足,希望大家能提出来,小编会更加努力的。

C++—揭秘大牛博客一些不同凡人的写法的更多相关文章

  1. web前端/移动端H5博客专家博客大全--值得收藏的前端技术大牛博客地址

    web前端/移动端H5博客专家博客大全--值得收藏的前端技术大牛博客地址   Huang Jie Blog .Com-前端开发 http://www.huangjieblog.com/?feed=rs ...

  2. 大牛博客!Spark / Hadoop / Kafka / HBase / Storm

    在这里,非常感谢下面的著名大牛们,一路的帮助和学习,给予了我很大的动力! 有了Hadoop,再次有了Spark,一次又一次,一晚又一晚的努力相伴! HBase简介(很好的梳理资料) 1. 博客主页:h ...

  3. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

  4. 【转】IT大牛博客

    原文:http://blog.csdn.net/qq1175421841/article/details/49384841 首届中国最受欢迎50大技术博客获奖名单如下: 第一名:李会军  http:/ ...

  5. iOS开发的知名大牛博客小汇

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat ...

  6. iOS的非常全的三方库,插件,大牛博客

    转自: http://www.cnblogs.com/zyjzyj/p/6015625.html github排名:https://github.com/trending, github搜索:http ...

  7. iOS开发 非常全的三方库、插件、大牛博客等等

    UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...

  8. 关注的Elasticsearch大牛博客

    1.http://wangnan.tech/ 2.https://elasticsearch.cn/people/wood 3.https://www.jianshu.com/u/244399b1d7 ...

  9. HBase学习之路 (八)HBase大牛博客

    主要是记录一下链接 http://hbasefly.com

随机推荐

  1. GDI绘图中的映射模式CDC::SetMapMode()

    原文链接:http://blog.csdn.net/charlessimonyi/article/details/8264572 在GDI绘图前,一般要设置映射模式.映射模式是什么呢?它是逻辑长度单位 ...

  2. BZOJ4785 [Zjoi2017]树状数组 【二维线段树 + 标记永久化】

    题目链接 BZOJ4785 题解 肝了一个下午QAQ没写过二维线段树还是很难受 首先题目中的树状数组实际维护的是后缀和,这一点凭分析或经验或手模观察可以得出 在\(\mod 2\)意义下,我们实际求出 ...

  3. BZOJ3648 寝室管理 【点分治 + 环套树】

    3648: 寝室管理 Time Limit: 40 Sec  Memory Limit: 512 MB Submit: 366  Solved: 152 [Submit][Status][Discus ...

  4. Elasticsearch报错

    [2018-07-12T10:32:47,642][INFO ][o.e.b.BootstrapChecks ] [VfCcJIq] bound or publishing to a non-loop ...

  5. CentOS ninimal 安装后没有桌面-yellowcong

    昨天,安装Centos后,发现没有桌面,主要是没有安装桌面环境导致 的这个问题,我们需要做的第一步是,安装一个桌面(GNOME Desktop,命令:yum groupinstall -y " ...

  6. 几种list集合的区别

    SDK提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector.ArrayList和LinkedList.有关这些List类的性能差别是一个经常被问及的问题.在这 ...

  7. synchronized ---- 作用

    获得同步锁: 1.清空工作内存: 2.从主内存拷贝对象副本到工作内存: 3.执行代码(计算或者输出等): 4.刷新主内存数据: 5.释放同步锁.

  8. CSS3奇偶选择器

    .search-form td:nth-child(odd){//奇 width:100px; text-align:right;} .search-form td:nth-child(even){/ ...

  9. 意想不到的chrome调试功能

    没想到chrome的功能如此强大,绝非仅能使用console.log而已,碰到如此好文必定收藏,感谢大神,本文原创地址为:http://www.cnblogs.com/Wayou/p/chrome-c ...

  10. 列出top中的pid

    #!/usr/bin/env python import os import string #方法1:通过字符串的isdigits来判断 #filelist = os.listdir('/proc') ...