1、格式化输出
#include <iostream>#include <iomanip>
using namespace std;int main(){//C语言int num=7;printf("%d\n",num);printf("%4d\n",num);printf("%04d\n",num);//C++cout<<"admin"<<endl;//setw():使用前需要导入<iomanip>头文件//正数在前面补空格,负数在后面补空格
cout<<setw(10)<<"admin"<<endl;cout<<setw(-10)<<"admin"<<endl;return 0;}
2、进制输出
#include <iostream>using namespace std;int main(){//Cnum=255;printf("%d\n",num); //十进制 255printf("%x\n",num); //十六进制 ffprintf("%#x\n",num); //0xff//C++cout<<hex<<num<<endl; //切换十六进制 ff
cout<<oct<<num<<endl; //切换八进制 377
cout<<showbase; //开启进制显示
cout<<hex<<num<<endl; //切换十六进制 0xffcout<<oct<<num<<endl; //切换八进制 0377cout<<noshowbase; //关闭进制显示
cout<<dec<<num<<endl; //切换十进制
return 0;}
3、类型推导
#include <iostream>using namespace std;int main(){auto number=0; //类型推导,auto被推导为int
return 0;}
4、nullptr
NULL是C语言的空,C++中一直使用,直到C++11中引入了新的nullptr
在C++的源代码中,NULL实际上就是0,这样在一些特殊的情况下,会引发二义性问题
#include <iostream>using namespace std;void fun(int i){cout << "A" << i << endl;}void fun(char* c){cout << "B" << c << endl;}int main(){fun(NULL); //A0,有歧义fun(nullptr); //B
return 0;}