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

天下

記錄修行的印記

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 天下 閱讀(1124) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ 、C#

<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導航

統計

常用鏈接

留言簿(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电影艾秋| 欧美成人高清视频| 久久久久久穴| 久热精品视频在线观看一区| 久久久久www| 久久香蕉国产线看观看av| 免费成人av在线| 亚洲黄色免费电影| 欧美大片va欧美在线播放| 欧美 日韩 国产精品免费观看| 欧美成人激情在线| 日韩午夜剧场| 悠悠资源网亚洲青| 久久综合色88| 欧美美女喷水视频| 欧美午夜免费电影| 国产一区免费视频| 亚洲国内高清视频| 亚洲一级网站| 久久久久久久久久久久久9999| 美日韩精品视频| 亚洲电影免费在线观看| 一本高清dvd不卡在线观看| 亚洲午夜激情网站| 久久免费黄色| 国产精品狠色婷| 今天的高清视频免费播放成人| 亚洲国产小视频在线观看| 亚洲小说欧美另类社区| 免费久久99精品国产自| 一本色道久久综合狠狠躁篇怎么玩 | 国产精品亚洲综合久久| 在线观看欧美一区| 亚洲综合日韩| 欧美黄网免费在线观看| 亚洲午夜激情| 欧美激情综合在线| 国模吧视频一区| 亚洲一区二区三区午夜| 狂野欧美激情性xxxx| 99这里只有久久精品视频| 久久午夜羞羞影院免费观看| 国产伦精品一区| 亚洲视频在线观看网站| 久久久久久久久久久久久女国产乱| 亚洲欧洲一区二区天堂久久 | 你懂的成人av| 亚洲一区图片| 欧美深夜福利| 亚洲日本在线观看| 久久gogo国模啪啪人体图| 日韩午夜中文字幕| 欧美成人精品在线观看| 加勒比av一区二区| 久久天堂精品| 久久久久久久久综合| 国产在线视频欧美一区二区三区| 亚洲欧美日韩另类| 一区二区欧美日韩视频| 欧美日韩在线三级| 亚洲午夜激情| 亚洲永久免费视频| 国产欧美一级| 久久精品青青大伊人av| 性感少妇一区| 久久亚洲私人国产精品va| 国产乱码精品1区2区3区| 中文在线不卡| 在线视频一区二区| 国产精品久久久久久超碰| 99在线观看免费视频精品观看| 欧美激情影音先锋| 欧美精品一区二区三| 日韩亚洲欧美成人一区| 亚洲精品123区| 欧美另类专区| 亚洲一区二区三区中文字幕在线| 一本大道久久a久久综合婷婷| 欧美日韩一区三区四区| 亚洲欧美亚洲| 久久福利资源站| 在线国产日韩| 91久久夜色精品国产网站| 欧美日韩国产首页| 亚洲网站在线播放| 亚洲欧美日韩在线不卡| 国语自产精品视频在线看抢先版结局 | 亚洲开发第一视频在线播放| 国产精品成人在线| 久久久精品日韩| 欧美成人日韩| 欧美在线亚洲一区| 欧美1区2区| 欧美中日韩免费视频| 久久综合久久美利坚合众国| 一区二区三区视频在线观看 | 亚洲欧美另类综合偷拍| 在线观看成人av| 99国内精品久久| 黄色亚洲网站| 夜夜嗨av色一区二区不卡| 国产精品主播| 亚洲国产第一页| 国产精品欧美激情| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品国产a级| 欧美jizz19性欧美| 国产精品高潮呻吟久久av无限| 久久免费精品视频| 欧美日韩国产一区二区三区| 久久大综合网| 欧美日韩另类国产亚洲欧美一级| 久久久成人精品| 欧美日韩国产高清视频| 欧美aa在线视频| 国产嫩草影院久久久久| 亚洲韩国日本中文字幕| 国内精品模特av私拍在线观看| 一本色道久久综合亚洲精品按摩| 在线免费观看一区二区三区| 亚洲中午字幕| 欧美日韩精品免费观看视频| 久久综合伊人77777| 欧美激情视频给我| 久久久777| 国产精品乱码妇女bbbb| 亚洲欧洲一区二区在线观看| 影音先锋亚洲视频| 午夜视频久久久| 亚洲欧美日韩中文视频| 欧美精选一区| 亚洲人成毛片在线播放| 亚洲激情视频网站| 久久蜜臀精品av| 久久男女视频| 合欧美一区二区三区| 午夜精品婷婷| 欧美在线观看www| 国产精品美女久久久久aⅴ国产馆| 亚洲精品国产精品国产自| 亚洲精品中文字幕在线观看| 免费一区视频| 亚洲黄色成人网| 日韩亚洲欧美精品| 欧美日韩国产黄| 日韩一本二本av| 亚洲砖区区免费| 国产精品视频99| 欧美一区二区三区四区高清| 久久精品欧美| 亚洲国产精品久久久久秋霞蜜臀 | 欧美成人tv| 亚洲国产成人tv| 日韩午夜中文字幕| 欧美日韩久久| 亚洲午夜女主播在线直播| 亚洲欧美成人网| 国产精品一区在线观看| 欧美一区二区三区喷汁尤物| 久久蜜臀精品av| 亚洲欧洲美洲综合色网| 欧美日韩免费一区二区三区| 一区二区三区产品免费精品久久75 | 一色屋精品视频免费看| 老**午夜毛片一区二区三区| 亚洲第一页中文字幕| 中文亚洲视频在线| 国产亚洲福利一区| 欧美二区在线| 一本久久a久久精品亚洲| 午夜精品婷婷| 激情五月综合色婷婷一区二区| 欧美成人福利视频| 亚洲欧美激情一区| 亚洲电影第三页| 性欧美激情精品| 亚洲人成网站影音先锋播放| 国产精品第13页| 乱人伦精品视频在线观看| 亚洲在线成人精品| 极品av少妇一区二区| 欧美精品在线极品| 久久精品二区亚洲w码| 99精品国产一区二区青青牛奶 | 99视频精品免费观看| 久久久蜜桃一区二区人| 一区二区日本视频| 永久域名在线精品| 国产精品嫩草影院一区二区| 久久久亚洲一区| 亚洲午夜久久久久久久久电影院| 免费欧美高清视频| 性欧美大战久久久久久久久| 99re8这里有精品热视频免费| 国产亚洲欧美激情| 国产精品av一区二区| 久久久91精品国产| 亚洲欧美日本另类| 日韩亚洲欧美在线观看|