C++—揭秘大牛博客一些不同凡人的写法

  天下之大,无奇不有,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。
//结尾彩蛋:黑客帝国代码雨网址:file:///C:/Users/thtf/Desktop/1.html 真心好玩,宜装逼
 
感谢所有看到最后的同志们,小编还有很多不足,希望大家能提出来,小编会更加努力的。

猜你喜欢

转载自www.cnblogs.com/TFLS-gzr/p/10054864.html