std::optional有一个类似于智能指针的接口,它可以显式转化为bool来表示std::optional是否有一个值。指针的解引用操作符*和->都实现了,但是没有std::bad_optional_access,用这种方式访问一个空的std::optional是一个未定义的行为。reset() ...
分类:
其他好文 时间:
2020-03-16 23:19:10
阅读次数:
70
C++ 中动态内存管理通过一对运算符来完成: ,在动态内存中为对象分配空间并返回一个指向该对象的指针。 ,接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。 新标准提供两种智能指针类型来管理动态对象,智能指针的行为类似常规指针,重要的区别是智能指针负责自动释放所指向的对象,新标准提供的这两种 ...
分类:
其他好文 时间:
2020-03-15 13:23:16
阅读次数:
54
说实话自从亚博体育(yb5.io)毕业后已经很久没有用c语言写过程序了,一般都是使用c++,c++的stl和boost等,这些代码库大大简化了我们的编程复杂度。由于最近某种原因在次开始用c写程序。我是个比较懒的人,比较喜欢使用别人的第三方库,好不容易找到一个叫sglib的开源库,当然要使用一下啦。不 ...
分类:
编程语言 时间:
2020-03-09 21:00:00
阅读次数:
68
在使用基本指针类型时,因为要手动释放指针指向的内存,常常容易造成内存泄漏,特别是异常分支很多的情况下。而智能指针类型就是将基本指针类型封装成模板类,以便更好地管理内存。 智能指针都包含一个explicit构造函数,因此基本指针类型不能隐式转换成智能指针,需要显式调用。 shared_ptr<doub ...
分类:
编程语言 时间:
2020-03-05 22:22:30
阅读次数:
116
1.概述 GBDT基于GB算法。GB算法的主要思想是,每次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数是评价模型性能(一般为拟合程度+正则项),认为损失函数越小,性能越好。而让损失函数持续下降,就能使得模型不断调整提升性能,其最好的方法就是使损失函数沿着梯度方向下降。GBDT再此基础上, ...
分类:
数据库 时间:
2020-03-04 09:52:00
阅读次数:
84
E-Stop (also known as boost) is a way to start a vehicle when the battery is exhausted or exhausted. Temporarily connect to another car's battery or o ...
分类:
其他好文 时间:
2020-03-03 12:43:48
阅读次数:
71
1、下载boost官网安装包。 https://dl.bintray.com/boostorg/release/1.66.0/binaries/ 注意:这里一定要选择好boost版本 如: boost_1_66_0-msvc-14.0-64.exe 14.0对应vs2015 64:64位 2、下载后 ...
分类:
其他好文 时间:
2020-02-28 17:13:54
阅读次数:
74
```cpp #include #include static void interfaceOfSharedPtr(); int main(void) { interfaceOfSharedPtr(); return 0; } class Object { public: Object(int id... ...
分类:
编程语言 时间:
2020-02-24 21:06:37
阅读次数:
78
```cpp #include #include #include //auto ptr //shared_ptr //unique_ptr //weak_ptr class Parent; //采用前置声明 using ParentPtr = std::shared_ptr; typedef st... ...
分类:
编程语言 时间:
2020-02-24 21:03:42
阅读次数:
90
```cpp #include #include #include /* //this //调用了两次析构函数, ParentPtr p(this); //智能指针出了作用域后就delete this ,析构了 //所以错了,为了解决这个问题,就需要自身的类继承于 std::enable_share... ...
分类:
编程语言 时间:
2020-02-24 21:03:10
阅读次数:
121