&豪
豪->blog
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆 - 87 文章 - 279 trackbacks - 0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
潛心看書研究!
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(19)
給我留言
查看公開留言
查看私人留言
隨筆分類
(81)
AJAX(1)
C++之夢(11)
DesignPattern(1)
PHP之路(10)
TCP/IP
VC
計算機圖形學(2)
生活感想(24)
算法&ACM(32)
文章分類
(89)
ACM題目(26)
apache(3)
Basic C++(8)
Java(4)
Linux(3)
MFC(2)
mysql(2)
php學習與實踐(4)
Python(1)
string match(3)
操作系統(tǒng)(1)
計算機(1)
數(shù)據(jù)結(jié)構(gòu)與算法(29)
數(shù)論(1)
網(wǎng)絡(1)
相冊
MY LIFE
MY PRODUCTION
SCUT/ICPC MY TEAM
ACM OJ
HOJ
POJ
TOJ
URAL
UVA
ZOJ
My friends
Apple's Garden
asp's blog
chgsh's blog
jay_zzw's blog
shyli's blog
sicheng's blog
xmm's blog
豪的space
踏雪赤兔's blog
搜索
積分與排名
積分 - 216452
排名 - 117
最新評論
1.?re: 使用JS呼叫另一PHP程式后直接返回數(shù)值而不必翻新頁面(轉(zhuǎn))
123456
--Jaxk
2.?re: qsort函數(shù)應用大全(轉(zhuǎn))
對頭@莫名
博主謝謝分享,學習了!
--呵呵噠
3.?re: 三次樣條插值
評論內(nèi)容較長,點擊標題查看
--mrsong123mtr
4.?re: 三次樣條插值
請樓主加解釋啊,表示好難懂
--mrsong123mtr
5.?re: 三次樣條插值
樓主寫的是自然邊界條件的樣條插值。。。可以參考 《計算方法》一書
--juy
閱讀排行榜
1.?中國剩余定理(同余方程組)小結(jié)(11632)
2.?掃描線-通用多邊形填充算法(7807)
3.?變量初始化的重要性!(3566)
4.?三次樣條插值(3528)
5.?內(nèi)存池(version1.1)(3295)
評論排行榜
1.?好高興啊,a+b那題一次通過啦,acm有個好開始!!!^_^(27)
2.?今天又過條簡單題,呵呵(14)
3.?看 c++primer 后的一個問題(14)
4.?變量初始化的重要性!(11)
5.?從二叉樹的遞歸遍歷想到的:利用重載函數(shù),使函數(shù)接口更"友好"(9)
智能指針源碼
智能指針源碼,可像普通指針一樣使用,但可以自動釋放內(nèi)存,代碼很短,看一下就明白原理了。
#ifndef AUTOPTR
#define
AUTOPTR
/**/
/*
*
* 智能指針類
*/
template
<
class
T
>
class
AutoPtr
{
public
:
AutoPtr(T
*
p
=
0
) : pointee(p)
{}
//
默認構(gòu)造函數(shù)
template
<
class
U
>
AutoPtr(AutoPtr
<
U
>&
rhs) : pointee(rhs.release())
{}
//
復制構(gòu)造函數(shù)
~
AutoPtr()
{delete pointee;}
template
<
class
U
>
AutoPtr
<
T
>&
operator
=
(AutoPtr
<
U
>&
rhs)
{
//
賦值函數(shù)
if
(
this
!=
&
rhs)
{
reset(rhs.release());
}
return
*
this
;
}
T
&
operator
*
()
const
{
return
*
pointee;}
T
*
operator
->
()
const
{
return
pointee;}
T
*
get
()
const
{
return
pointee;}
//
獲取dumb pointer
T
*
release()
{
//
釋放dumb pointer 的擁有權(quán),并返回其值
T
*
oldPointee
==
pointee;
pointee
=
0
;
return
oldPointee;
}
void
reset(T
*
p
=
0
)
{
//
重復置p指針
if
(pointee
!=
p)
{
delete pointee;
pointee
=
p;
}
}
private
:
T
*
pointee;
}
;
#endif
AUTOPTR
test.cpp
#include
"
AutoPtr.h
"
#include
<
iostream
>
#include
<
string
>
using
namespace
std;
int
main()
{
AutoPtr
<
int
>
p
=
new
int
;
*
p
=
100
;
printf(
"
%d\n
"
,
*
p);
AutoPtr
<
string
>
sp
=
new
string
;
*
sp
=
"
hello world
"
;
printf(
"
%s\n
"
, sp
->
c_str());
return
0
;
}
posted on 2008-04-17 17:01
豪
閱讀(1002)
評論(3)
編輯
收藏
引用
所屬分類:
C++之夢
FeedBack:
#
re: 智能指針源碼 2008-07-11 14:16
fr3@K
你的實現(xiàn)沒辦法像這樣使用:
AutoPtr<int> foo()
{
return AutoPtr<int>(new int);
}
void bar()
{
AutoPtr<int> p = foo();
}
回復
更多評論
#
re: 智能指針源碼 2008-07-15 19:40
hah
@fr3@K
本來就不應該返回指向局部變量的指針
回復
更多評論
#
re: 智能指針源碼
2008-07-16 01:45
fr3@K
std::auto_ptr 就可以. 請參考這篇 (
http://www.gotw.ca/publications/using_auto_ptr_effectively.htm
) 的 example 7 的用法說明.
實作上可以參考這里 (
http://code.google.com/p/gion/source/browse/branches/0.1/include/gion/auto_array.hpp
), 找與 auto_array_ref 相關的代碼.
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關文章:
真是水,居然可以這樣將int轉(zhuǎn)成str
內(nèi)存池(version1.1)
智能指針源碼
More Effective 的 Reference Counting
從二叉樹的遞歸遍歷想到的:利用重載函數(shù),使函數(shù)接口更"友好"
又是一題動態(tài)規(guī)劃--經(jīng)典
看 c++primer 后的一個問題
遞歸--->計算日期總數(shù)
不看書怎么見彩虹?
變量初始化的重要性!
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 豪 Powered by:
博客園
模板提供:
滬江博客
精品国产一区二区三区久久久狼
|
久久人搡人人玩人妻精品首页
|
久久99久久99精品免视看动漫
|
麻豆久久久9性大片
|
国内精品伊人久久久久
|
亚洲精品无码久久一线
|
久久午夜综合久久
|
精品久久人人爽天天玩人人妻
|
国产精品久久午夜夜伦鲁鲁
|
99久久精品免费观看国产
|
久久99国产精品尤物
|
精品乱码久久久久久夜夜嗨
|
99久久精品这里只有精品
|
久久丫忘忧草产品
|
2021国内精品久久久久久影院
|
91精品国产高清91久久久久久
|
成人久久综合网
|
久久这里只精品99re66
|
99久久国产免费福利
|
久久AV高清无码
|
久久精品水蜜桃av综合天堂
|
久久久青草青青国产亚洲免观
|
国产精品久久成人影院
|
麻豆AV一区二区三区久久
|
狼狼综合久久久久综合网
|
色综合久久天天综线观看
|
无码乱码观看精品久久
|
国产999精品久久久久久
|
国产高清美女一级a毛片久久w
|
色欲久久久天天天综合网
|
一本色道久久综合狠狠躁篇
|
亚洲人成伊人成综合网久久久
|
久久久久99精品成人片欧美
|
狠狠色婷婷久久综合频道日韩
|
色综合久久天天综线观看
|
久久人人爽人人爽人人片AV麻豆
|
精品无码人妻久久久久久
|
国产精品无码久久久久
|
伊人久久大香线蕉影院95
|
久久中文娱乐网
|
亚洲AV无码久久精品蜜桃
|