博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 11 新特性
阅读量:6895 次
发布时间:2019-06-27

本文共 640 字,大约阅读时间需要 2 分钟。

hot3.png

  1. new (std::nothrow)A()当内存不足时,返回null

  2. std::function<A*(int)>代表一个可调用对象,接受1个int的参数,返回值是A*

  3. 对于c++ 对象的方法,可以通过std::bind 转换为可调用对象

    A *a = new A();

     

    std::function<A*(int)>  f1 = std::bind(&A::test,a);

  4. lambda表达式,[ capture ] ( params ) -> ret { body }  //ret表示返回类型

    std::function<void(Node*)> func =[this, tool](Node *node){};
    [this,tool]表示参数捕获,传了this之后,可以访问this下的方法和变量,也可以传入局部变量tool。
    有以下几种捕获方式

    [x] 使用x的副本

    [&x] 使用x的引用
    [=] 使用外部作用域的所有变量的副本
    [&] 使用外部作用域的所有变量的引用
    [=,&x] 使用外部作用域的所有变量的副本,但使用x的引用
    [this] 使用当前对象的this指针

  5. override显示表明是从父类重写的,final加在类声明上表明类不可被继承,加载方法上面表明方法不能被子类重写。

  6. 右值引用。避免重复拷贝,采用内存交换的方式,可以配合std::move来使用。

 

 

转载于:https://my.oschina.net/yizhangxyz/blog/667425

你可能感兴趣的文章
JSONArray().fromObject(); 出现org.apache.catalina.core.StandardWrapperValve invoke错误的解决办法...
查看>>
取余和取模的小结
查看>>
JAVA应用CPU占用100%|内存泄漏分析总结
查看>>
SVN使用笔记-cleanup解决资源锁定(locked)
查看>>
又一个开始
查看>>
ecshop_邮件设置
查看>>
学移动开发Android和iOS改怎么选?
查看>>
PO-->OOP+AOP-->SOA软件开发思想演化
查看>>
oracle 对象管理 08_游标与记录
查看>>
PL/SQL developer配置
查看>>
高中的一套学习法则
查看>>
JavaScript中的setTimeout函数
查看>>
ln软链接出现Too many levels of symbolic links
查看>>
Java中排序相关
查看>>
关于Plan的计划
查看>>
提升tomcat服务器性能的七条经验
查看>>
Tomcat 生产服务器性能优化
查看>>
ubuntu下Odoo10开发环境配置
查看>>
Java ServletContext 详解
查看>>
html <area> 的用法,图片热点的使用
查看>>