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

天下

記錄修行的印記

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>
            亚洲欧洲另类国产综合| 亚洲黄色精品| 欧美一级精品大片| 国产日韩欧美精品在线| 性欧美暴力猛交69hd| 午夜精品偷拍| 狠久久av成人天堂| 亚洲国产精品黑人久久久| 欧美激情偷拍| 亚洲在线一区| 欧美在线一区二区| 亚洲精品国产精品国自产观看浪潮| 亚洲高清在线视频| 国产精品男人爽免费视频1| 久久精品五月婷婷| 免费成人黄色片| 亚洲视频在线看| 欧美一区二区视频免费观看| 亚洲国产日韩欧美一区二区三区| 亚洲精品人人| 国产欧美日韩视频一区二区| 女主播福利一区| 欧美亚州在线观看| 免费不卡视频| 国产精品久久久久一区| 蜜桃av久久久亚洲精品| 欧美日韩一视频区二区| 久久精品官网| 欧美日韩成人在线| 久久精品最新地址| 欧美三区美女| 欧美国产精品久久| 国产视频在线一区二区| 亚洲成人在线网站| 亚洲国产婷婷香蕉久久久久久| 欧美日韩一区免费| 麻豆av一区二区三区久久| 欧美日韩一区成人| 欧美成人亚洲成人| 国产日韩综合| 中日韩在线视频| 日韩视频免费观看| 男女视频一区二区| 老色批av在线精品| 国产伦精品一区二区三区在线观看| 亚洲大片在线观看| 在线成人国产| 久久精品国语| 久久精品国产亚洲精品 | 久久免费少妇高潮久久精品99| 欧美激情一区二区三区在线视频| 久久精品中文| 国产精品揄拍500视频| 亚洲精选大片| 999亚洲国产精| 欧美成人免费全部观看天天性色| 久久免费国产| 国产主播一区二区三区四区| 久久国产精品久久国产精品| 欧美日韩一区在线观看视频| 亚洲欧洲日产国产综合网| 伊人久久婷婷| 麻豆亚洲精品| 欧美激情一区二区三区在线| 在线成人激情视频| 老牛国产精品一区的观看方式| 欧美大片免费观看在线观看网站推荐| 国内精品久久久| 久久久久久噜噜噜久久久精品| 久久久久九九九| 一区二区亚洲精品国产| 久久久青草青青国产亚洲免观| 久久嫩草精品久久久久| 伊人精品在线| 欧美成人精品在线观看| 亚洲黄色在线观看| 亚洲午夜小视频| 国产精品三区www17con| 午夜精品一区二区三区四区| 久久久久久婷| 亚洲日本激情| 欧美日韩亚洲一区二区三区| 亚洲一区二区三区四区五区午夜 | 中文欧美日韩| 欧美午夜无遮挡| 午夜精品久久| 欧美激情第五页| 亚洲网在线观看| 国产日韩精品在线观看| 麻豆精品传媒视频| 亚洲乱码日产精品bd| 亚欧成人在线| 亚洲高清三级视频| 国产精品jizz在线观看美国 | 久久蜜桃精品| 午夜精品在线| 精品成人在线观看| 欧美日韩一区二区三区视频 | 99av国产精品欲麻豆| 欧美中文字幕视频| 91久久久久久久久| 国产模特精品视频久久久久| 久久欧美肥婆一二区| 日韩视频―中文字幕| 久久激情视频免费观看| 亚洲精品国产日韩| 国产一区亚洲一区| 欧美人体xx| 久久久99免费视频| 亚洲一区二区在线| 亚洲国产欧美日韩另类综合| 久久国产日本精品| av不卡在线| 在线观看视频日韩| 国产精品无码专区在线观看| 欧美成人情趣视频| 久久精品一区二区三区不卡牛牛| 亚洲精品国产精品国自产观看| 久久久久久9| 欧美一区二区三区免费视频| 99视频精品全国免费| 亚洲高清在线精品| 国内久久精品| 国产日韩欧美二区| 国产精品久久国产精麻豆99网站| 欧美高清在线| 久久综合伊人77777尤物| 性亚洲最疯狂xxxx高清| 中文欧美在线视频| 亚洲美女视频在线观看| 亚洲国产色一区| 欧美大香线蕉线伊人久久国产精品| 欧美一区二区三区在线免费观看| 亚洲你懂的在线视频| 亚洲视频高清| 亚洲视频精品| 在线视频精品一区| 正在播放亚洲一区| 一本色道久久综合精品竹菊| 99re6这里只有精品视频在线观看| 在线观看不卡| 亚洲国产精品国自产拍av秋霞| 加勒比av一区二区| 在线 亚洲欧美在线综合一区| 国内在线观看一区二区三区| 国语自产精品视频在线看抢先版结局| 国产精品综合久久久| 国产欧美亚洲精品| 国产亚洲a∨片在线观看| 国产一区二区观看| 欧美69wwwcom| 欧美精品一区二区久久婷婷| 欧美精品一区二区三| 欧美日韩蜜桃| 国产精品一区二区女厕厕| 国产伦精品一区二区三区高清版| 国产精品丝袜xxxxxxx| 国产日韩欧美日韩| 精品动漫av| 日韩小视频在线观看专区| 一区二区三区 在线观看视频| 亚洲永久网站| 久久久久国产精品www| 免费久久99精品国产| 亚洲国产一成人久久精品| 亚洲精品在线观| 午夜激情综合网| 久热综合在线亚洲精品| 欧美日韩国产在线一区| 国产女人水真多18毛片18精品视频| 国产丝袜一区二区| 亚洲三级电影在线观看| 亚洲欧美日韩在线一区| 久久婷婷久久一区二区三区| 亚洲国产精品成人久久综合一区| 一本久久a久久精品亚洲| 欧美一区2区三区4区公司二百| 久久久久一区二区| 国产精品白丝av嫩草影院| 一区二区三区中文在线观看| 一区二区三区四区在线| 久久久之久亚州精品露出| 亚洲国产一区二区三区青草影视| 亚洲一级电影| 欧美jjzz| 激情婷婷亚洲| 性久久久久久久| 亚洲二区在线视频| 午夜精品久久久| 欧美日韩一视频区二区| 在线观看日韩av电影| 亚洲影院免费| 亚洲片在线资源| 久久全球大尺度高清视频| 国产精品久久久久久久久久直播 | 亚洲国产精品久久久久| 香蕉av福利精品导航| 亚洲人成在线播放| 久久综合久久综合这里只有精品| 国产精品婷婷午夜在线观看|