c++11新特性

来源:互联网 发布:linux认证等级 编辑:程序博客网 时间:2024/06/16 10:43
#include <iostream>using namespace std;int main(){cout << "Hello C++11 New Feature!!!" << endl;// 1、新的遍历方式int arr[] = {11, 22, 33, 44, 55};for (auto it : arr) {cout << it << endl;}// 2、lambda表示式auto sayHello = []() {cout << "新的函数指针方式" << endl;}; // ;分号必须有sayHello();// labmda传入参数auto labmdaTest1 = [](int a, int b) {return a + b;}; // ;分号必须有cout << labmdaTest1(4, 5) << endl;// labmda按值引用外部变量,不能引用数组类型int num = 88;printf("num:%x\n", &num);auto labmdaTest2 = [=]() {printf("num:%x\n", &num);}; // ;分号必须有labmdaTest2();// labmda按引用引用外部变量char str[] = "kk world";printf("num:%x, str:%x\n", &num, str);auto labmdaTest3 = [&]() {printf("num:%x, str:%x\n", &num, str);}; // ;分号必须有labmdaTest3();/*[=]通过值捕捉所有变量[&]通过引用捕捉所有变量[value]通过值捕捉value,不捕捉其它变量[&value]通过引用捕捉value,不捕捉其它变量[=, &value]默认通过值捕捉,变量value例外,通过引用捕捉[&, value]默认通过引用捕捉,变量value例外,通过值捕捉*/}

0 0
原创粉丝点击