ramlife

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

取消编译优化选项

-fno-elide-constructors : 优化返回值。函数返回对象的时候,可以省略函数内 return 的那次复制,以及调用函数 “=” 的那次复制。
-std=c++0x

参考:
【C++踩坑】说说g++的-fno-elide-constructors参数
https://blog.csdn.net/XiyouLinux_Kangyijie/article/details/78939291

C++11移动构造函数详解
http://c.biancheng.net/view/7847.html

C++11 move()函数:将左值强制转换为右值
http://c.biancheng.net/view/7863.html

shared_ptr 释放数组,需要指定函数,可以使用 default_delete 模板类,也可以自定义

    //指定 default_delete 作为释放规则
    std::shared_ptr<int> p6(new int[10], std::default_delete<int[]>());
    //自定义释放规则
    void deleteInt(int*p) {
        delete []p;
    }
    //初始化智能指针,并自定义释放规则
    std::shared_ptr<int> p7(new int[10], deleteInt);

参考:
C++11 shared_ptr智能指针(超级详细)
http://c.biancheng.net/view/7898.html

posted on 2022-08-30 18:44  ramlife  阅读(27)  评论(0编辑  收藏  举报