1.__func__ 预定义表示符
返回所在函数的名字
#include<string>
#include<iostream>
using namespace std;
const char* hello(){return __func__}int main()
{cout<<hello()<<endl;
}
打印结果:
hello
2.__VA__ARGC__
可以在宏定义的实现部分替换省略号所代表的字符串
#define PR(...) print(__VA__ARGC__)
#include<stdio>#define LOG(...) {\
fprint(stderr,"%s:Line %d:\t",__FILE__,__LINE__);\
fpint(stderr,__VA__ARGC__);\
fprint(stderr,"\n");\
}int main()
{
int x =3;
LOG("x=%d",x);}
打印结果:
main.cpp : Line 12: x=3
3.long long 整型
long long 和 usigned long long 不同平台有不同长度,但至少64位
long long int a = 90909090LL;
usigned long long int b= 23434322ULL;
等价类型:
long long ,signed long long ,long long int, signed long long int;
同理 usigned long long;
4.__cpluscplus
在c和c++混编的时候,我们的头文件有如下声明:
#ifded __cpuscplus
extern "c"
{
#endif
//代码段
#ifded __cpuscplus
}
#endif
5.快速初始化成员变量
可以用{}进行初始化
string str("hello");
6.序列for循环
在C++中for循环可以使用类似java的简化的for循环,可以用于遍历数组,容器,string以及由begin和end函数定义的序列(即有Iterator),示例代码如下:
map<string, int> m{{"a", 1}, {"b", 2}, {"c", 3}};
for (auto p : m){
cout<<p.first<<" : "<<p.second<<endl;
}
未完待续。。。。