c++11/14新特性学习

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;  

未完待续。。。。

发布了95 篇原创文章 · 获赞 25 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/jqw11/article/details/104418901