天下之大,无奇不有,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. [Leetcode] count and say 计数和说

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  2. BZOJ2120 数颜色 【带修改莫队】

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MB Submit: 6579  Solved: 2625 [Submit][Status][Discus ...

  3. js生成图片

    var image = new Image(); var c = document.getElementById("myCanvas"); var ctx = c.getConte ...

  4. 一个JavaScript反射使用的例子

    反射机制指的是程序在运行时能够获取自身的信息.例如一个对象能够在运行时知道自己有哪些方法和属性.在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下: 1 for ...

  5. Vim使用小记(二)插件管理

    By francis_hao    Mar 8,2017 Vundle Vundle,全称为Vim bundle,是一个插件管理器.可以对vim插件进行安装和卸载. Vundle的安装方法看这里[参考 ...

  6. [NOI2002] 银河英雄传说 (带权并查集)

    题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山压顶 ...

  7. sublime2创建一个html5的snippets文件

    背景:跟了一个网上课程,老师哗啦啦敲代码,屏幕上只敲了几个字,键盘一操作,瞬间一大溜代码,看得我心惊肉跳连忙暂停抄抄抄. 举个简单的例子,我需要创建一个html文件.但是我不想每次都敲固定的格式.那么 ...

  8. 解决在极光推送的时候会出现一个 JPush提示:缺少统计代码

    <span style="font-size:14px;"> @Override protected void onResume(){ super.onResume() ...

  9. 在Servlet中出现一个输出中文乱码的问题

     添加:reqeust.setCharacterEncoding("utf-8");

  10. 51nod数字1的数量

    这道题瞎jbyy了很久 方法可能很奇怪... #include<cstdio> #include<cstring> #include<algorithm> #inc ...