xyjzsh
虛擬指針的問題——memset相關
class
Node
{
public
:
Node(
void
)
{}
~
Node(
void
)
{}
virtual
bool
IsLeafNode()
=
0
;
}
;
class
InternalNode:
public
Node
{
public
:
InternalNode()
{}
virtual
~
InternalNode(
void
)
{}
virtual
bool
IsLeafNode()
{
return
false
;}
}
;
class
LeafNode:
public
Node
{
public
:
LeafNode()
{}
virtual
~
LeafNode()
{}
virtual
bool
IsLeafNode()
{
return
true
;}
}
;
定義以上的繼承結構:LeafNode和InternalNode繼承自Node
有一個虛方法IsLeaf來判斷是否為葉子節點。
下面有這樣的測試代碼:
test()
{
Node *node = new InternalNode();
memset(node,0,sizeof(InternalNode));
node->IsLeafNode();
}
上述代碼編譯正常,而運行時出錯!
出現上述問題的原因是:
對于有虛函數的類,每一個類有一個虛函數表,而每一個對象中會有一個指針指向這個虛函數表。
當 Node *node = new InternalNode();時編譯器會把一個指針知道InternalNode的虛函數表
但是memset(node,0,sizeof(InternalNode));卻把這個指針設成了。
所以在調用的時候出現了運行時錯誤!
posted on 2011-03-14 15:46
呆人
閱讀(449)
評論(0)
編輯
收藏
引用
所屬分類:
數據結構
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
一種類型的字符拷貝函數
猜猜執行結果
返回值為函數指針的寫法
c語言中模擬動態綁定
按位使用數據以及union
宏定義中字符串連接操作
虛擬指針的問題——memset相關
使用位
適合于網絡傳輸的一種數據結構
指向類成員對象的指針
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2011年2月
>
日
一
二
三
四
五
六
30
31
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
1
2
3
4
5
6
7
8
9
10
11
12
導航
C++博客
首頁
新隨筆
聯系
聚合
管理
統計
隨筆 - 59
文章 - 0
評論 - 11
引用 - 0
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
git使用(1)
(rss)
gtest研究(1)
(rss)
sqlserver2008(3)
(rss)
STL學習系列(1)
(rss)
編程習慣系列(5)
(rss)
多線程(1)
(rss)
感悟(1)
(rss)
書評(2)
(rss)
數據結構(12)
(rss)
算法(9)
(rss)
完成端口(1)
(rss)
隨筆檔案
2013年2月 (1)
2012年4月 (1)
2012年2月 (1)
2011年12月 (1)
2011年11月 (3)
2011年10月 (1)
2011年8月 (2)
2011年7月 (1)
2011年5月 (4)
2011年4月 (2)
2011年3月 (3)
2011年2月 (2)
2011年1月 (5)
2010年12月 (11)
2010年11月 (13)
2010年10月 (8)
搜索
最新評論
1.?re: do{}while(0)的好處【轉】
說的好。哈哈
--xiaomu
2.?re: c++ 中關于int,unsigned int , short的關系與應用
評論內容較長,點擊標題查看
--婷
3.?re: vs2008只生成dll,沒有生成lib的解決方案
非常感謝,解決了我的大問題。
--jasion
4.?re: 讀寫鎖的實現
@joy
你好,謝謝你,(*^__^*) 嘻嘻……,我看了一下代碼寫操作確實有餓死的可能,然后我重新修改了一下代碼,有空你看看哈。(*^__^*) 嘻嘻……還請多賜教哦~~
-- 呆人
5.?re: 讀寫鎖的實現[未登錄]
寫操可能會餓死
--joy
閱讀排行榜
1.?c++ 中關于int,unsigned int , short的關系與應用(21960)
2.?memcpy,_tcscpy_s的使用(12873)
3.?1.VC++中的char,wchar_t,TCHAR(轉載)(8479)
4.?vs2008中調用matlab生成的dll(4592)
5.?宏定義中字符串連接操作(4545)
評論排行榜
1.?讀寫鎖的實現(2)
2.?編程習慣(2)(2)
3.?c++編程習慣(1)(2)
4.?do{}while(0)的好處【轉】(1)
5.?適合于網絡傳輸的一種數據結構(1)
Powered by:
C++博客
Copyright © 呆人
久久青青草原亚洲av无码
|
97精品国产97久久久久久免费
|
久久久久无码精品国产app
|
国产亚洲成人久久
|
模特私拍国产精品久久
|
伊人久久大香线蕉av一区
|
国产精品无码久久综合
|
国产69精品久久久久99
|
亚洲欧美另类日本久久国产真实乱对白
|
日韩精品久久久久久久电影
|
狠狠色丁香久久婷婷综合图片
|
日本久久久久亚洲中字幕
|
99久久亚洲综合精品网站
|
久久精品国产免费观看
|
久久99中文字幕久久
|
久久香综合精品久久伊人
|
久久99中文字幕久久
|
久久人与动人物a级毛片
|
99久久99久久精品国产
|
久久久久久精品无码人妻
|
久久播电影网
|
99久久国产综合精品麻豆
|
久久频这里精品99香蕉久
|
久久精品中文字幕一区
|
久久综合综合久久狠狠狠97色88
|
久久精品国产免费观看
|
日韩电影久久久被窝网
|
久久精品国产亚洲AV不卡
|
…久久精品99久久香蕉国产
|
亚洲香蕉网久久综合影视
|
人妻无码精品久久亚瑟影视
|
久久久久亚洲av成人无码电影
|
久久福利青草精品资源站免费
|
亚洲国产精品人久久
|
91精品国产综合久久婷婷
|
综合人妻久久一区二区精品
|
国产精品久久久久a影院
|
国产毛片欧美毛片久久久
|
少妇精品久久久一区二区三区
|
伊人久久亚洲综合影院
|
色老头网站久久网
|