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

什么是网站功能wordpress 在线skype

什么是网站功能,wordpress 在线skype,app生成链接,陕西交通建设集团网站体检C11 中值得关注的几大变化 1.Lambda 表达式 Lambda表达式来源于函数式编程#xff0c;说白就了就是在使用的地方定义函数#xff0c;有的语言叫“闭包”#xff0c;如果 lambda 函数没有传回值(例如 void )#xff0c;其回返类型可被完全忽略。 定义在与 lambda 函数相同作…C11 中值得关注的几大变化     1.Lambda 表达式 Lambda表达式来源于函数式编程说白就了就是在使用的地方定义函数有的语言叫“闭包”如果 lambda 函数没有传回值(例如 void )其回返类型可被完全忽略。 定义在与 lambda 函数相同作用域的变量参考也可以被使用。这种的变量集合一般被称作 closure闭包。表达式的简单语法如下   char s[]Hello World!; int Uppercase 0; //modified by the lambda for_each(s, ssizeof(s), [Uppercase] (char c) { if (isupper(c)) Uppercase; }); cout Uppercase uppercase letters in: s endl; View Code 在传统的STL中for_each() 这个玩意最后那个参数需要一个“函数对象”所谓函数对象其实是一个class这个class重载了operator()于是这个对象可以像函数的式样的使用。实现一个函数对象并不容易需要使用template比如下面这个例子就是函数对象的简单例子实际的实现远比这个复杂   template class T class less { public: bool operator()(const Tl, const Tr)const { return l r; } }; View Code   所以C引入Lambda的最主要原因就是1可以定义匿名函数2编译器会把其转成函数对象。相信你会和我一样会疑问为什么以前STL中的ptr_fun()这个函数对象不能用ptr_fun()就是把一个自然函数转成函数对象的。原因是ptr_fun() 的局限是其接收的自然函数只能有1或2个参数。 那么除了方便外为什么一定要使用Lambda呢它比传统的函数或是函数对象有什么好处呢我个人所理解的是这种函数之年以叫“闭包”就是因为其限制了别人的访问更私有。也可以认为他是一次性的方法。Lambda表达式应该是简洁的极私有的为了更易的代码和更方便的编程。   2.自动类型推导 auto 在在这一节中原文主要介绍了两个关键字 auto 和 deltype示例如下   auto x0; //x has type int because 0 is int auto ca; //char auto d0.5; //double auto national_debt14400000000000LL;//long long auto 最大的好处就是让代码简洁尤其是那些模板类的声明比如STL中的容器的迭代子类型。 vectorint::const_iterator ci vi.begin(); 可以变成 auto ci vi.begin(); 模板这个特性让C的代码变得很难读不信你可以看看STL的源码那是一个乱啊。使用auto必需一个初始化值编译器可以通过这个初始化值推导出类型。因为auto是来简化模板类引入的代码难读的问题如上面的示例iteration这种类型就最适合用auto的但是我们不应该把其滥用。 比如下面的代码的可读性就降低了。因为我不知道ProcessData返回什么int? bool? 还是对象或是别的什么这让你后面的程序不知道怎么做。   auto obj ProcessData(someVariables); 但是下面的程序就没有问题因为pObject的型别在后面的new中有了。   auto pObject new SomeTypeOtherType::SomeOtherType();     3.自动化推导 decltype   关于 decltype 是一个操作符其可以评估括号内表达式的类型其规则如下 如果表达式e是一个变量那么就是这个变量的类型。如果表达式e是一个函数那么就是这个函数返回值的类型。如果不符合1和2如果e是左值类型为T那么decltype(e)是T如果是右值则是T。原文给出的示例如下我们可以看到这个让的确我们的定义变量省了很多事。 1 2 3 const vectorint vi; typedef decltype (vi.begin()) CIT; CIT another_const_iterator; 还有一个适合的用法是用来typedef函数指针也会省很多事。比如   decltype(myfunc) pfunc 0;    typedef decltype(A::func1) type; 4.auto 和 decltype 的差别和关系 Wikipedia 上是这么说的关于decltype的规则见上 #include vector    int main() {     const std::vectorint v(1);     auto a v[0];        // a 的类型是 int     decltype(v[0]) b 1; // b 的类型是 const int, 因为函数的返回类型是                           // std::vectorint::operator[](size_type) const     auto c 0;           // c 的类型是 int     auto d c;           // d 的类型是 int     decltype(c) e;        // e 的类型是 int, 因为 c 的类型是int     decltype((c)) f c;  // f 的类型是 int, 因为 (c) 是左值     decltype(0) g;        // g 的类型是 int, 因为 0 是右值 } 如果auto 和 decltype 在一起使用会是什么样子能看下面的示例下面这个示例也是引入decltype的一个原因——让C有能力写一个 “ forwarding function 模板” template typename LHS, typename RHS   auto AddingFunc(const LHS lhs, const RHS rhs) - decltype(lhsrhs) {return lhs rhs;} 这个函数模板看起来相当费解其用到了auto 和 decltype 来扩展了已有的模板技术的不足。怎么个不足呢在上例中我不知道AddingFunc会接收什么样类型的对象这两个对象的 操作符返回的类型也不知道老的模板函数无法定义AddingFunc返回值和这两个对象相加后的返回值匹配所以你可以使用上述的这种定义。 5.统一的初始化语法     C/C的初始化的方法比较C 11 用大括号统一了这些初始化的方法。   比如POD的类型。   1 2 int arr[4]{0,1,2,3}; struct tm today{0};   关于POD相说两句所谓POD就是Plain Old Data当class/struct是极简的(trivial)、属于标准布局(standard-layout)以及他的所有非静态non-static成员都是POD时会被视为POD。如   1 2 3 struct A { int m; }; // POD struct B { ~B(); int m; }; // non-POD, compiler generated default ctor struct C { C() : m() {}; ~C(); int m; }; // non-POD, default-initialising m   POD的初始化有点怪比如上例new A; 和new A(); 是不一样的对于其内部的m前者没有被初始化后者被初始化了不同 的编译器行为不一样VC和GCC不一样。而非POD的初始化则都会被初始化。   从这点可以看出C/C的初始化问题很奇怪所以在C 2011版中就做了统一。原文作者给出了如下的示例   1 2 3 4 5 6 7 8 9 C c {0,0}; //C11 only. 相当于: C c(0,0);    int* a new int[3] { 1, 2, 0 }; /C11 only    class X {     int a[4];     public:         X() : a{1,2,3,4} {} //C11, member array initializer };   容器的初始化   1 2 3 4 5 // C11 container initializer vectorstring vs{ first, second, third}; map singers { {Lady Gaga, 1 (212) 555-7890}, {Beyonce Knowles, 1 (212) 555-0987}};   还支持像Java一样的成员初始化   1 2 3 4 5 6 class C {    int a7; //C11 only  public:    C(); };  转载于:https://www.cnblogs.com/lightz/p/3417006.html
http://wiki.neutronadmin.com/news/308366/

相关文章:

  • 网站页面布局用什么做wordpress 摄影 主题
  • 二七郑州网站建设锡林浩特市长安网站 建设初步方案
  • 重庆建网站 私单备案网站的规则
  • 怎样把网站做的好看网站流量排行
  • 中山市小榄新意网站设计有限公司建设网站是什么样的
  • pytson做网站安全吗在线简历免费制作网站
  • 北京网站建设及优化如何做seo搜索优化
  • 廊坊市 广阳区城市建设局网站多用户商城app
  • 国泰君安建设工程官方网站申请网站怎么申请
  • 网站建设手机网站网站禁止访问目录
  • 建立学校网站关键词是什么意思
  • 西部数码网站管理助手错误韩国风格网站模板下载
  • 嘉兴做网站多少钱网站稳定性不好的原因
  • 廊坊市网站推广百度搭建wordpress
  • 物流网站建设策划书的总结做外贸用什么网站好
  • 网站分哪些种类wordpress学人的冬天
  • 企业网站怎么做的高大上wordpress_主题
  • 网站外链收录很多 内链收录几个高安高端网站设计公司
  • 一键网站模块河南便宜网站建设
  • 微科技h5制作网站黄埔网站建设哪家好
  • 网站建设对服务器有舍要求吗如何做授权网站
  • 做借贷网站平台广州工商学院门户网站
  • 大朗网站建设网站建设中 目录怎么做更好
  • 个人网站制作艺术网站模板
  • 涪陵网站建设 优帮云可以看设计的网站有哪些
  • 做游戏网站的背景图片番禺电子商务网站建设
  • 设计素材网站有哪些免费一线互联网公司排名
  • 网站定制开发优点岳阳君山
  • 机加工外贸网站深圳网络广告推广公司
  • 上海互联网做网站网站被k 原因