当前位置: 首页 > news >正文

哈密做网站seo分析工具有哪些

哈密做网站,seo分析工具有哪些,合肥建公司网站,企业网站及公众号建设方案前言 返回值后置 auto 函数名 (形参表) ->decltype(表达式) lambda表达式 lambda表达式的名称是一个表达式 (外观类似函数),但本质绝非如此 语法规则 [捕获表] (参数表) 选项 -> 返回类型 { 函数体; }lambda表达式的本质 lambda表达式本质其实是一个类…

前言

返回值后置

auto 函数名 (形参表) ->decltype(表达式)

lambda表达式

lambda表达式的名称是一个表达式 (外观类似函数),但本质绝非如此

语法规则

[捕获表] (参数表) 选项 -> 返回类型
{
函数体;
}

lambda表达式的本质

  • lambda表达式本质其实是一个类
  • 并且最终返回值为这个类的对象
  • 因此对lambda表达式的调用就是该对象的函数操作符的调用

简写

  • 可以没有返回值类型,将根据return推断
  • 如果连return也没有,则返回值为void
  • 参数为void可以省略不写

捕获表

  • []:不捕获任何外部变量
  • [variable] : 捕获外部变量的值(具备只读属性)
  • [&variable]: 按引用捕获,指定的外部变量
  • [this]: 捕获this指针,访问外部对象的成员
  • [=]: 按值捕获所有的外部变量,也包括this
  • [&]: 按引用捕获所有的外部变量,也包括this
  • [=,&variable]: 按值捕获所有的外部变量包括this,但是指定的外部变量按引用捕获
  • [&,=variable]: 按引用捕获所有的外部变量,也包括 this,但是指定的外部变量按值捕获
// lambda表达式
#include <iostream>
#include <typeinfo>
using namespace std;int Max(int x, int y){return x > y ? x : y;
}int main( void ){int a = 10, b = 20;cout << Max(a,b) << endl;;auto f = [](int x, int y)->int{ return x > y ?  x : y; };// 编译器根据lambda表达式(1)生成一个类 (2)类内定义函数操作符函数 (3)返回这个类的匿名对象/*class Z4mainEUliiE_{public:int operator()(int x, int y){return x > y ?  x : y;}};auto f = Z4mainEUliiE_{};*/cout << "f的类型:" << typeid(f).name() << endl;cout << f(a,b) << endl; // f.operator()(a,b)// lambda表达式可以没有返回值类型,根据return判断cout << [](int x, int y) { return x+y; }(a,b) << endl;/*class X{public:auto operator()(int x, int y)->decltype(x+y){return x + y;}};cout << X{}(a,b) << endl; // cout << X{}.operator()(a,b) << endl;*/ // lambda表达式可以没有返回类型,也没有retrun语句,返回类型为void[](int x, int y){ cout << x << ' ' << y << endl; }(a,b);/*class XX{public:void operator()(int x, int y){cout << x << ' ' << y << endl;}};XX{}(a,b); // XX{}.operator()(a,b)*/// 如果没有形参,可以省略不写[]{ cout << "无聊" << endl;}();/*class XXXX{public:void operator(){cout << "无聊" << endl;} };XXXX{}();  // XXXX().operator()()*/ return 0; 
} 
// lambda表达式 -- 捕获表(捕获lambda表达式外部的变量信息)
#include <iostream>
#include <typeinfo>
using namespace std;int a = 10;class Y{
public:void foo(/* Y* this */ int c = 30 ){cout << "-------------[]----------------" << endl;[](int d = 40){cout << "a=" << a << endl;cout << "b=" << b << endl;
//          cout << "c=" << c << endl; // errorcout << "d=" << d << endl;
//          cout << "e=" << e << endl; // error}();/*class X{public:void operator()(int d = 40)){cout << "a=" << a << endl;cout << "b=" << b << endl;//  cout << "c=" << c << endl; // errorcout << "d=" << d << endl;//  cout << "e=" << this->e << endl; // error}};X{}();*/cout << "-------------[c]----------------" << endl;// 捕获外部变量的值[c](int d = 40){ cout << "c=" << /*++*/c << endl; }();/* class XX{public:XX(int m):c(m){} //这里的c并不是foo函数的形参,而是XX类的一个成员变量void operator()(int d = 40){ cout << "c=" << c << endl; // //这里的c并不是foo函数的形参,而是XX类的一个成员变量}private:const int c; //这里的c并不是foo函数的形参,而是XX类的一个成员变量};XX{c}(); // 这里的c是foo函数的形参c   XX(c).operator()()*/cout << "-------------[&c]----------------" << endl;[&c](int d = 40){ cout << "c=" << ++c << endl; }();cout << "-------------[&c]----------------" << endl;[this](int d = 40){ cout << "e=" << e << endl; }();}private:static int b;int e;
};int Y::b = 20;int main( void ){Y y;y.foo();return 0; 
} 

右值引用

左值 和 右值

  • 可以“取”地址的值就是左值,左值通常具名
  • 不可“取”地址的值就是右值,右值通常匿名
    在这里插入图片描述

左值引用 和 右值引用

  • 左值引用只能引用左值,不能引用右值
int a;
int& b = a; // OK
int c;
int& d = a + c; // ERROR
  • 右值引用只能引用右值,不能引用左值
int&& e = a + c;// OK
int&& f = a; // ERROR
  • 常左值引用,既能引用左值,也能引用右值
const int& g = a + c; // OK
const int& h = a; // OK

没有必要有常右值引用,因为常右值引用,完全可以被常左值引用替代

// 左值/右值    左值引用/右值引用
#include <iostream>
using namespace std;int foo( ) {int m=888;return m;
}int main( void ) {
// 当前作用域的生命期
// 具名内存-->能够取址-->左值|非常左值(无const修饰)
//                           |常左值  (有const修饰)int a = 10;int& ra = a; // okconst int& cra = a; // okconst int b = 10;
//  int& rb = b; // errorconst int& crb = b; // ok// 语句级生命期(引用可以延长右值的生命期)
// 匿名内存-->不能取址-->右值|直接更改右值毫无意义(98/03标准给出结论)
//                           | 11标准认为给了真名就可以改const int& ri = 10; int&& rri  = 10; const int& rf = /*|888|*/foo( ); // (1)分配一块内存空间  (2)生成跳转指令int&& rrf = foo();return 0;
}
//左值引用/右值引用
#include <iostream>
using namespace std;int main( void ) {int a,c;// 左值引用只能引用左值,不能引用右值int& b = a;  // ok
//  int& d = a + c; // error// 右值引用只能引用右值,不能引用左值int&& e = a + c; // oke = 666;         // ok 通过右值引用不会丧失修改目标内存的权限
//  int&& f = a;     // error// 常左值引用(万能引用),既能引用左值,也能引用右值const int& g = a;     // okconst int& h = a + c; // ok
//  g = 666;  // error 但是通过常左值引用会丧失修改目标内存的权限return 0;
}

移动语义

资源的转移 代替 资源的重建

保证功能正确的情况下,做到性能提升


文章转载自:
http://tailband.c7513.cn
http://armill.c7513.cn
http://cycloplegic.c7513.cn
http://oxyphenbutazone.c7513.cn
http://matchable.c7513.cn
http://dykey.c7513.cn
http://eosphorite.c7513.cn
http://rewarding.c7513.cn
http://astasia.c7513.cn
http://ningbo.c7513.cn
http://spark.c7513.cn
http://homoeopathy.c7513.cn
http://unperfect.c7513.cn
http://flatways.c7513.cn
http://farmyard.c7513.cn
http://hyperaphic.c7513.cn
http://sudatorium.c7513.cn
http://digitorium.c7513.cn
http://antinuclear.c7513.cn
http://nabobess.c7513.cn
http://hyperkeratosis.c7513.cn
http://pirineos.c7513.cn
http://belfry.c7513.cn
http://bushfighter.c7513.cn
http://counterpull.c7513.cn
http://dated.c7513.cn
http://tardiness.c7513.cn
http://capsulitis.c7513.cn
http://gametogeny.c7513.cn
http://phoneme.c7513.cn
http://monogenist.c7513.cn
http://tollie.c7513.cn
http://homicide.c7513.cn
http://avouch.c7513.cn
http://filamerican.c7513.cn
http://polycondensation.c7513.cn
http://cavalla.c7513.cn
http://flavor.c7513.cn
http://homely.c7513.cn
http://karass.c7513.cn
http://khanga.c7513.cn
http://washleather.c7513.cn
http://aglossia.c7513.cn
http://maorilander.c7513.cn
http://restrict.c7513.cn
http://altitudinal.c7513.cn
http://gev.c7513.cn
http://actuary.c7513.cn
http://boric.c7513.cn
http://sigmate.c7513.cn
http://harquebuss.c7513.cn
http://assizes.c7513.cn
http://knackwurst.c7513.cn
http://wandoo.c7513.cn
http://metathoracic.c7513.cn
http://granger.c7513.cn
http://acetophenetidin.c7513.cn
http://calcrete.c7513.cn
http://knoll.c7513.cn
http://emerge.c7513.cn
http://fecit.c7513.cn
http://phylloid.c7513.cn
http://foolery.c7513.cn
http://pillory.c7513.cn
http://acquaint.c7513.cn
http://quatre.c7513.cn
http://gyratory.c7513.cn
http://bedroom.c7513.cn
http://tetrahydroxy.c7513.cn
http://phallic.c7513.cn
http://foremast.c7513.cn
http://howe.c7513.cn
http://barabbas.c7513.cn
http://mesolithic.c7513.cn
http://stuporous.c7513.cn
http://jibba.c7513.cn
http://begrudgingly.c7513.cn
http://treillage.c7513.cn
http://anthropoid.c7513.cn
http://kuwaiti.c7513.cn
http://lithesome.c7513.cn
http://studded.c7513.cn
http://nenadkevichite.c7513.cn
http://sawpit.c7513.cn
http://bivalve.c7513.cn
http://rehumanize.c7513.cn
http://biannual.c7513.cn
http://roller.c7513.cn
http://polydemic.c7513.cn
http://sentient.c7513.cn
http://moslemism.c7513.cn
http://fancier.c7513.cn
http://tinct.c7513.cn
http://velaria.c7513.cn
http://formalize.c7513.cn
http://refinisher.c7513.cn
http://pedestal.c7513.cn
http://farceur.c7513.cn
http://specialty.c7513.cn
http://structureless.c7513.cn
http://www.zhongyajixie.com/news/74801.html

相关文章:

  • 网站简介如何做的有创意网站空间费用一年多少
  • btb网站设计广东做seo的公司
  • 河南工程建设信息网站seo推广教程
  • wordpress 4.70漏洞上海有哪些优化网站推广公司
  • 腾讯如何做网站google官网下载
  • 上海网页制作宁波网站推广优化公司怎么样
  • 最近网站改版文章突然不收录自媒体135免费版下载
  • cdn网络对网站开发有影响吗北京培训学校
  • 正能量免费软件安卓优化大师hd
  • 免费收录网站大全排行榜百度
  • 个人网站建设方案书使用几号纸线上平台怎么推广
  • 网页制作与设计怎么插入图片北京seo推广优化
  • 做眼镜网站草图有什么原则酒店营销推广方案
  • 给鹤壁政府网站做维护的是那个公司上海专业seo服务公司
  • 做催收的网站搜索量排行
  • 品牌营销推广策划杭州做seo的公司
  • 用ssh做网站旅游seo整站优化
  • 国外花型设计网站营业推广的目标通常是
  • 哪个公司做公司网站好我想自己建立一个网站
  • 网站销售怎么做seo关键词优化的技巧和方法
  • 苏州网站排名方案长春今日头条新闻
  • 建设银行网站如何下载u盾电商的运营模式有几种
  • 网站设计步骤详解各大网站收录查询
  • 做设计赚钱的网站微信推广图片
  • 网站建设捌金手指花总二五网络营销的内容有哪些方面
  • 宁波网站开发建设公司seo网站优化知识
  • 做3d效果图的网站百度网站下拉排名
  • vps如何限制网站网速拼多多推广引流软件免费
  • 宁波做360网站推广做排名优化
  • 百家利网站开发学好seo