Bound_Ptr.h 1 // -*- C++ -*- 2 3 //============================================================================= 4 /** 5 * @file Bound_Ptr....
分类:
其他好文 时间:
2015-06-04 00:56:05
阅读次数:
270
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不能够是变量,也不能够直接用整型地址值(可是int*p=0;除外,该语句表示指针为空)。此时,*p仅仅是表示定义的是个指针变量,并没有间接取值的意思。比如:int a = 25;int *ptr = &a;int b[10];in...
分类:
编程语言 时间:
2015-06-03 21:05:54
阅读次数:
128
《Effective C++》在资源管理一节提到了智能指针,智能指针中最著名的当属auto_ptr和shared_ptr。本文主要研究两者的实现。auto_ptr的实现:templateclass auto_ptr{private: T *ap;public: explicit au...
分类:
其他好文 时间:
2015-06-03 17:35:48
阅读次数:
116
为什么要用智能指针?
我们知道在C++中,资源管理是个头疼的问题。资源管理最常做的就是内存管理。而指针用起来如果忘记归还,就会导致内存泄露。
比如:class Oneclass{};
int func(){
Oneclass* one=new Oneclass;
if(!one)return 1;
delete one;
return 0;
}可见,上面代码中,我...
分类:
编程语言 时间:
2015-06-02 09:29:59
阅读次数:
138
shared_ptr是一個模板類,它保存了一個指向動態分配的對象的指針,當指向這個對象的最後一個shared_ptr被銷燬的時候,這個對象也被銷燬了。
有三種使用 shared_ptr的方法:
1)使用 std::shared_ptr
要用 std::shared_ptr的方式使用。
實例代碼:
#include
#include
class A
{
public:
A()
...
分类:
其他好文 时间:
2015-05-30 18:20:51
阅读次数:
115
1.DNS理解:
DNS(Domain Name Service)域名服务,我们都知道在网络上传输信息用的地址是IP地址,但是因为IP没有规律难以记忆,所以就有了域名,当我们访问www.csdn.net时,网络上的路由器是不知道www.csdn.net怎么走的,所以我们需要把www.csdn.net转化成CSDN服务器的IP地址,这就是DNS服务。
2.具体操作:...
#include
#include
#include
#include
#include
#include
using namespace std;class String
{ public:
String():ptr(new char[1])
{...
分类:
编程语言 时间:
2015-05-28 18:11:50
阅读次数:
281
目前测试功能正常。若有不完善的地方在改进吧。时候不早了睡觉去,哎,翘课会被抓,不冒险了。晚安全世界O(∩_∩)O 1 /************************************************************************* 2 *my shared_...
分类:
其他好文 时间:
2015-05-28 01:56:48
阅读次数:
161
转自:http://blog.csdn.net/hxz_qlh/article/details/13135433 在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 1、静态建立类对象:是由编译器为对象在栈空间中分配内存,...
分类:
其他好文 时间:
2015-05-28 00:17:36
阅读次数:
974
解决循环引用: 在知道存在循环引用的条件下,使用boost::weak_ptr,即弱引用来代替循环引用中的某个强引用,从而打破循环引用的环。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,...
分类:
编程语言 时间:
2015-05-27 22:39:10
阅读次数:
597