
c++ primer
Lution Young
这个作者很懒,什么都没留下…
展开
-
12.1.2 - 12.1.4直接管理内存(new和delete笔记以及shared_ptr)
没有任何数据成员也没有虚函数的类,由于哑类不包含任何数据成员,它的对象在内存中不需要占用空间,因此对象的尺寸为0。get函数会将所管理的指针交给其他代码,该函数被设计的原因是,用于向一些无法使用智能指针的代码传递普通指针。因此使用一个内置指针来访问一个std::shared_ptr中所管理的内存是危险的,因为不知道该std::shared_ptr什么时候会释放掉这块内存。:shared_ptr在构造时可以传递一个函数作为删除器,该shared_ptr在离开作用域析构时,调用该删除器代替delete操作。原创 2024-10-09 23:15:43 · 175 阅读 · 0 评论 -
使用shared_ptr编写StrBlob类
【代码】使用shared_ptr编写StrBlob类。原创 2024-04-10 22:30:59 · 208 阅读 · 1 评论 -
12.1.5 unique_ptr
unique_ptr会独占所管理的指针,一般不能被拷贝或赋值。release会切断unique_ptr与指针的联系,reset会让unique_ptr执行释放操作。原创 2024-04-08 22:54:10 · 494 阅读 · 0 评论 -
std::shared_ptr与异常
/ 连接某个地址 并返回一个连接对象// 断开链接 释放连接资源(如套接字)// 使用con做一些事 ...if (...) {// 抛出异常以上代码中,如果抛出异常,即使con是局部对象,函数异常退出也会被释放掉,但其并没有释放连接的资源,因为没有调用disconnect函数,此时同样会发生资源泄漏。// 定义了一个lambda作为删除器替代delete操作,参数类型要与p中指向的内存的类型一致});// 使用p做一些事 ...if (...) {// 抛出异常。原创 2024-04-07 20:18:22 · 322 阅读 · 0 评论 -
c++ shared_pt的基本使用方法
【代码】c++ shared_ptr 1。原创 2024-03-20 20:25:03 · 155 阅读 · 1 评论 -
c++ 关联容器3 无序容器
注意一个桶可以存放多个元素,因此不同的两个元素计算出相同的哈希值,会导致这两个元素存放在同一个桶中,因此查找一个元素时,计算出哈希值后,可能需要在桶中逐一比较每个元素和这个元素是否相等,从而查找到该元素。c++11 中的无序容器类型默认只支持内置类型,包括std::string,指针,以及智能指针,并且有序关联容器支持的函数,无序容器基本都支持,也就是insert、at等函数同样可以使用。元素存放在多个桶中,每个桶都有一个索引,每个元素通过哈希函数计算出存放该元素的桶的索引。原创 2024-03-18 23:52:18 · 437 阅读 · 0 评论 -
c++关联容器笔记2 有序关联容器的例子
c++Primer 关联容器单词转换例子。原创 2024-03-18 19:27:10 · 432 阅读 · 0 评论 -
c++关联容器笔记1 有序关联容器
由此可见可以自定义排序方法,有序的map和set中,使用迭代器是升序遍历的,也可自定义比较函数来达到其他的排序方法。有序容器对关键字key的类型要求能够比较,一般默认能用原创 2024-03-17 15:28:42 · 508 阅读 · 1 评论 -
参数绑定(std::bind)
且流对象(istream/ostream/…)都无法被拷贝和复制,只能以引用的方式作为参数传递。原创 2024-01-11 21:19:48 · 484 阅读 · 0 评论