只有2种成员 值成员; 指针成员; 依实现可分为raw pointer / shared_ptr; 现在,仅考虑第③种:资源对象共享 角度来考虑拷贝控制 类的两种语义:值语义、似指针 编译器提供的default版本的copy constructor/ copy assignment的语义: 1. 拷 ...
分类:
其他好文 时间:
2018-06-29 10:54:24
阅读次数:
172
#ifndef MY_STRBLOB_H #define MY_STRBLOB_H #include #include #include #include using namespace std; class StrBlob { public: typedef vector::size_type s... ...
分类:
编程语言 时间:
2018-06-28 20:44:47
阅读次数:
167
常用的链表/堆栈 都是先 生成一个头指针head 再用头指针 申请一个 头节点空间,然后 头节点 的Data 一般是不储存数据的 , { 当用 malloc函数分配内存后head就变为了名叫head的节点了。而不在是一个单独的指针了 } { 注意只要用malloc申请的空间 才能使 指针再 下次循环 ...
分类:
编程语言 时间:
2018-06-26 00:50:59
阅读次数:
188
记住: 好的接口容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 促进正确使用的办法包括接口的一致性,以及与内置类型的行为兼容。 阻止误用的办法包括建立新类型,限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。 tr1::shared_ptr支持定制型删除器。这可被用来 ...
分类:
编程语言 时间:
2018-06-23 19:05:03
阅读次数:
144
C++98中的智能指针通过一个模板类 来实现, 操作符返回的指针可以交由它来管理,程序员不用再显式的调用 ,这在一定程度上避免了堆内存忘记释放的问题; 不过 有一些缺点,比如拷贝时返回一个左值,不能调用delete[]等 。 C++11中废弃了 ,改用 等智能指针来自动回收堆分配对象,使内存管理更安 ...
分类:
其他好文 时间:
2018-06-23 18:51:34
阅读次数:
168
智能指针的意义 现代c++开发库中最重要的类模板之一 c++中自动内存管理的主要手段 能够在很大程度上避开内存相关的问题 STL中的智能指针auto_ptr 生命周期结束时,销毁指向的内存空间 不能指向堆数组,只能指向堆对象(变量) 一片堆空间只属于一个智能指针对象 多个智能指针对象不能指向同一片堆 ...
分类:
其他好文 时间:
2018-06-23 01:32:39
阅读次数:
149
enable_shared_from_this是一个模板类,定义于头文件<memory> share_from_this()是返回指向该对象的share_ptr。 例子 1 #include <memory> 2 #include <iostream> 3 4 struct Good : std:: ...
分类:
其他好文 时间:
2018-06-22 13:13:48
阅读次数:
130
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层 ...
分类:
其他好文 时间:
2018-06-20 19:07:41
阅读次数:
147