VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/xpcom/tests/SizeTest04.cpp@ 101852

最後變更 在這個檔案從101852是 1,由 vboxsync 提交於 55 年 前

import

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 1022 位元組
 
1// Test04.cpp
2
3#include "nsIDOMNode.h"
4#include "nsCOMPtr.h"
5
6#ifdef __MWERKS__
7 #pragma exceptions off
8#endif
9
10NS_DEF_PTR(nsIDOMNode);
11
12 /*
13 Windows:
14 nsCOMPtr 13
15 raw 36
16
17 Macintosh:
18 nsCOMPtr 36 bytes (1.0000)
19 raw 120 (3.3333) i.e., 333.33% bigger than nsCOMPtr
20 */
21
22class Test04_Raw
23 {
24 public:
25 Test04_Raw();
26 ~Test04_Raw();
27
28 void /*nsresult*/ SetNode( nsIDOMNode* newNode );
29
30 private:
31 nsIDOMNode* mNode;
32 };
33
34Test04_Raw::Test04_Raw()
35 : mNode(0)
36 {
37 // nothing else to do here
38 }
39
40Test04_Raw::~Test04_Raw()
41 {
42 NS_IF_RELEASE(mNode);
43 }
44
45void // nsresult
46Test04_Raw::SetNode( nsIDOMNode* newNode )
47 // m120, w36
48 {
49 NS_IF_ADDREF(newNode);
50 NS_IF_RELEASE(mNode);
51 mNode = newNode;
52
53// return NS_OK;
54 }
55
56
57
58class Test04_nsCOMPtr
59 {
60 public:
61 void /*nsresult*/ SetNode( nsIDOMNode* newNode );
62
63 private:
64 nsCOMPtr<nsIDOMNode> mNode;
65 };
66
67void // nsresult
68Test04_nsCOMPtr::SetNode( nsIDOMNode* newNode )
69 // m36, w13/13
70 {
71 mNode = newNode;
72 }
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette