青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

pin_ptr 和 interior_ptr

CLR語法中,值類型指針分為兩種類型:V*(限于非 CLR 堆位置)和內部指針 interior_ptr<V>(允許但不要求托管堆內的地址)。


釘住指針
通常,在壓縮階段,垃圾回收器可選擇將駐留在 CLR 堆上的對象移動到堆內的不同位置。這種移動對于跟蹤句柄、跟蹤引用和內部指針而言不是問題,它們都透明地更新這些實體。但是,如果用戶在運行時環境外傳遞了 CLR 堆上對象的地址,這種移動就會導致問題。在這種情況下,對象的不穩定運動可能導致運行時失敗。要避免此類對象的移動,必須在本地將它們釘在自己的位置上以供外部使用。

在托管擴展中,“釘住指針”是通過使用 __pin 關鍵字限定指針聲明來聲明的。下面是一個來自托管擴展規范的經過略微修改的示例:

  復制代碼 
__gc struct H { int j; };

int main() 
{
   H * h = new H;
   int __pin * k = & h -> j;
  
   // …
};
 

在新的語言設計中,釘住指針是使用類似于內部指針的語法來聲明的。

  復制代碼 
ref struct H
{
public:
   int j;
};

int main()
{
   H^ h = gcnew H;
   pin_ptr<int> k = &h->j;

   // …
}



interior_ptr
Declares a pointer to inside a reference type, but not to the object itself. An interior pointer can point to a reference handle, value type, boxed type handle, member of a managed type, or to an element of a managed array. 
cli::interior_ptr<cv_qualifier type> var = &initializer;

Remarks
A native pointer is not able to track an item as its location changes on the managed heap, which results from the garbage collector moving instances of an object. In order for a pointer to correctly refer to the instance, the runtime needs to update the pointer to the newly positioned object.

An interior_ptr represents a superset of the functionality of a native pointer. Therefore, anything that can be assigned to a native pointer can also be assigned to an interior_ptr. An interior pointer is permitted to perform the same set of operations as native pointers, including comparison and pointer arithmetic.

An interior pointer can only be declared on the stack. An interior pointer cannot be declared as a member of a class.

Since interior pointers exist only on the stack, taking the address of an interior pointer yields an unmanaged pointer.

interior_ptr has an implicit conversion to bool, which allows for its use in conditional statements.

For information on how to declare an interior pointer that points into an object that cannot be moved on the garbage-collected heap, see pin_ptr.

interior_ptr is in the cli namespace. See cli Namespace for more information.


//Example
// interior_ptr.cpp
// compile with: /clr
using namespace System;

ref class MyClass {
public:
   int data;
};

int main() {
   MyClass ^ h_MyClass = gcnew MyClass;
   h_MyClass->data = 1;
   Console::WriteLine(h_MyClass->data);

   interior_ptr<int> p = &(h_MyClass->data);
   *p = 2;
   Console::WriteLine(h_MyClass->data);

   // alternatively
   interior_ptr<MyClass ^> p2 = &h_MyClass;
   (*p2)->data = 3;
   Console::WriteLine((*p2)->data);
}

 


 

posted on 2015-12-21 17:11 天下 閱讀(1130) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ 、C#

<2015年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲区第一页| 午夜宅男久久久| 你懂的视频一区二区| 伊人久久av导航| 欧美+日本+国产+在线a∨观看| 久久精品一区二区三区四区 | 久久综合九九| 亚洲黄一区二区三区| 亚洲国产第一| 欧美体内she精视频在线观看| 亚洲欧美日韩精品久久久| 亚洲永久免费观看| 国内外成人免费激情在线视频网站| 久久婷婷国产综合尤物精品| 欧美aa在线视频| 一区二区三区日韩精品视频| 在线视频欧美精品| 国产真实乱偷精品视频免| 欧美激情网站在线观看| 欧美午夜女人视频在线| 久久另类ts人妖一区二区| 欧美成人精品| 久久不见久久见免费视频1| 久久亚洲精品伦理| 亚洲一区二区三区免费在线观看| 欧美中文字幕精品| 亚洲精品永久免费精品| 亚洲欧美日韩在线综合| 亚洲精品国产精品国自产观看浪潮| 亚洲小视频在线观看| 亚洲国产精品99久久久久久久久| 一区二区三区国产在线| 在线成人中文字幕| 亚洲色诱最新| 亚洲精品国产视频| 欧美在线观看天堂一区二区三区| 99精品视频免费| 久久久精品一区| 先锋影音久久| 欧美日韩国产首页在线观看| 久久在线视频在线| 国产精品久线观看视频| 亚洲激情视频在线| 在线成人免费视频| 午夜精品一区二区三区在线播放| av成人手机在线| 久久久天天操| 久久精品道一区二区三区| 欧美精品日韩| 亚洲国产精品高清久久久| 韩国一区二区三区在线观看| 亚洲综合精品一区二区| 在线视频你懂得一区| 老司机一区二区| 免费观看亚洲视频大全| 国产午夜精品美女毛片视频| 中文国产成人精品| 亚洲小少妇裸体bbw| 欧美激情视频一区二区三区在线播放 | 久久狠狠亚洲综合| 国产精品成人一区二区网站软件| 亚洲精品欧美精品| 一区二区免费在线观看| 欧美啪啪成人vr| 亚洲欧洲日本专区| 亚洲精品在线观看视频| 欧美电影打屁股sp| 亚洲国产三级| 99天天综合性| 欧美日韩在线不卡| 一本一本a久久| 亚洲免费在线观看| 国产精品一区二区你懂的| 亚洲一区二区三区在线视频 | 国产精品视频网站| 亚洲欧美美女| 久久久久国产精品一区| 国产一区二区三区久久精品| 亚洲综合二区| 国产精品成人一区二区三区吃奶 | 午夜精彩国产免费不卡不顿大片| 欧美一区高清| 精品成人在线视频| 免费成人黄色片| 亚洲免费观看高清完整版在线观看熊 | 亚洲免费影院| 国产亚洲午夜| 免费在线亚洲欧美| 亚洲老司机av| 欧美在线黄色| 亚洲激情精品| 国产精品白丝av嫩草影院| 欧美一区二区三区免费视频| 亚洲一区二区成人在线观看| 国产精品中文在线| 久久亚洲精品一区| aaa亚洲精品一二三区| 久久精品亚洲| 亚洲精品小视频在线观看| 国产精品国产a| 久久久精品国产一区二区三区| 欧美顶级少妇做爰| 亚洲一区在线直播| 在线日韩精品视频| 国产精品欧美一区喷水 | 亚洲一级二级在线| 欧美电影免费观看高清| 亚洲视频欧洲视频| 在线播放亚洲| 国产精品自拍在线| 欧美国产日韩二区| 欧美在线视频一区二区三区| 日韩视频一区二区三区| 久久一二三国产| 亚洲欧美日韩中文视频| 亚洲国产精品一区在线观看不卡| 国产精品久久久久9999吃药| 久久综合九色综合久99| 亚洲伊人观看| 夜夜嗨av一区二区三区网页| 欧美ed2k| 久久视频精品在线| 欧美亚洲在线视频| 亚洲图片激情小说| 亚洲破处大片| 亚洲成色777777在线观看影院| 国产日本欧美一区二区三区| 亚洲一区二区三区精品在线观看| 欧美成人免费小视频| 久久精品最新地址| 欧美伊人久久久久久久久影院| 亚洲少妇在线| av不卡免费看| 99国产精品久久久| 91久久精品国产91久久性色tv| 激情欧美丁香| 狠狠色丁香久久婷婷综合_中| 国产欧美综合在线| 国产精品一区亚洲| 国产欧美日韩在线观看| 国产精品区一区| 国产欧美韩日| 国产亚洲欧美另类中文| 国产精品日韩专区| 国产欧美三级| 国内精品久久久久影院 日本资源| 国产精品亚洲精品| 国产视频一区免费看| 国产日韩综合一区二区性色av| 国产色产综合色产在线视频| 国产日韩精品久久| 狠狠色噜噜狠狠色综合久 | 欧美日韩在线第一页| 欧美人与性动交α欧美精品济南到| 老司机一区二区| 欧美护士18xxxxhd| 欧美日韩免费在线视频| 国产精品啊v在线| 国产日韩欧美在线一区| 国产在线拍揄自揄视频不卡99 | 欧美日韩不卡一区| 欧美视频你懂的| 国产精品一二三四| 合欧美一区二区三区| 亚洲激情第一页| 亚洲视频电影图片偷拍一区| 亚洲欧美在线aaa| 久久夜色精品国产| 亚洲精品国产精品乱码不99 | 欧美成人首页| 亚洲免费观看在线观看| 亚洲淫片在线视频| 久久精品国产免费| 欧美精品色网| 国产亚洲免费的视频看| 最新高清无码专区| 亚洲午夜在线视频| 久久综合伊人77777| 亚洲精选国产| 久久精品亚洲国产奇米99| 欧美精品97| 国产一区二区三区精品久久久| 亚洲人成网站777色婷婷| 亚洲欧美在线另类| 欧美大片一区二区| 亚洲在线一区二区三区| 免费影视亚洲| 国产女优一区| 一区二区三区回区在观看免费视频| 欧美综合77777色婷婷| 亚洲国内自拍| 久久久久久综合网天天| 欧美性猛交xxxx免费看久久久| 在线观看国产精品淫| 性欧美1819sex性高清| 亚洲人成高清| 久久综合久久综合久久| 国产欧美一区二区精品秋霞影院 | 最新中文字幕一区二区三区| 欧美一级成年大片在线观看|