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

天下

記錄修行的印記

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| 欧美中文字幕不卡| 欧美激情亚洲国产| 亚洲精品在线视频观看| 欧美成人精精品一区二区频| 麻豆精品视频在线观看| 国内精品久久久久伊人av| 欧美一区二区三区视频免费| 欧美一区二区三区四区高清| 影音先锋亚洲精品| 性视频1819p久久| 欧美一乱一性一交一视频| 国产日本欧美一区二区三区| 蜜桃av综合| 欧美日韩在线亚洲一区蜜芽| 午夜日韩电影| 久久午夜电影网| 欧美一区影院| 欧美日本免费一区二区三区| 久久久久国产精品一区| 欧美日韩久久久久久| 久久久久久久综合狠狠综合| 欧美猛交免费看| 亚洲欧美国产制服动漫| 久久久91精品国产一区二区精品| 99精品免费| 久久久久国内| 在线亚洲美日韩| 久久久综合视频| 欧美一二三视频| 欧美三区美女| 欧美激情一二区| 亚洲综合视频网| 在线视频免费在线观看一区二区| 欧美大胆成人| 亚洲精品一区二区三区四区高清 | 亚洲欧美影音先锋| 亚洲一区二区在线观看视频| 免费观看30秒视频久久| 欧美国产专区| 一区二区高清视频在线观看| 欧美激情亚洲激情| 亚洲美女精品一区| 久久aⅴ国产欧美74aaa| 国产啪精品视频| 久久午夜视频| 亚洲巨乳在线| 久久久999国产| 亚洲黄色一区| 国产亚洲高清视频| 久久精品人人爽| 亚洲精品极品| 亚洲欧美综合精品久久成人| 狠狠久久亚洲欧美专区| 欧美高清你懂得| 性欧美大战久久久久久久久| 久久婷婷麻豆| 亚洲一区二区三区免费在线观看 | 亚洲日本欧美日韩高观看| 欧美午夜精品久久久久久浪潮| 午夜日韩视频| 日韩视频一区二区| 亚洲成在线观看| 欧美成人日韩| 美女成人午夜| 久久综合色天天久久综合图片| 新片速递亚洲合集欧美合集| 亚洲精品乱码久久久久| 欧美成人免费在线观看| 欧美日韩一区二区欧美激情| 国产欧美精品日韩区二区麻豆天美| 国产一区欧美| 性欧美长视频| 亚洲精品欧美在线| 久久久精品日韩欧美| 国产精品主播| 一区二区三区四区在线| 欧美ab在线视频| 亚洲女同在线| 国产精品稀缺呦系列在线| 中文日韩在线| 99精品国产一区二区青青牛奶| 欧美+亚洲+精品+三区| 亚洲精品久久7777| 亚洲国产高清高潮精品美女| 99精品久久免费看蜜臀剧情介绍| 亚洲男人影院| 欧美三级电影一区| 亚洲国产精品电影| 欧美在线视频一区| 最新国产成人在线观看| 欧美一区二区三区电影在线观看| 久久久之久亚州精品露出| 欧美日韩国产综合网| 一区一区视频| 久久精品夜色噜噜亚洲a∨| 91久久精品日日躁夜夜躁欧美| 欧美在线视频观看免费网站| 国产精品激情电影| 亚洲伦理久久| 亚洲毛片在线观看| 欧美精品在线免费| 亚洲精品国产精品国自产观看浪潮| 久久精品国产综合精品| 午夜精品一区二区三区电影天堂| 欧美精品免费播放| 夜夜嗨av色综合久久久综合网| 欧美jizzhd精品欧美喷水| 久久久精品日韩| 亚洲国产岛国毛片在线| 亚洲电影自拍| 欧美日韩精品免费在线观看视频| 久久久久88色偷偷免费| 国内成人精品视频| 免费在线观看一区二区| 欧美人与性禽动交情品| 亚洲视频网在线直播| 亚洲少妇诱惑| 亚洲精品久久久蜜桃| 一本色道久久综合亚洲精品高清| 国产精品性做久久久久久| 另类春色校园亚洲| 欧美午夜不卡视频| 亚洲国产毛片完整版 | 欧美大片免费| 欧美激情中文字幕在线| 欧美一区二区高清| 欧美va天堂| 国产精品99一区二区| 亚洲福利视频网站| 欧美91福利在线观看| 国产农村妇女毛片精品久久麻豆| 亚洲黄网站在线观看| 性色av一区二区怡红| 欧美国产极速在线| 亚洲美女网站| 亚洲美女中出| 一区在线播放| 一本色道精品久久一区二区三区| 欧美高清自拍一区| 先锋影院在线亚洲| 欧美激情第10页| 免费观看30秒视频久久| 国产精品网站一区| 99精品国产一区二区青青牛奶| 亚洲激情视频| 久久人人97超碰精品888| 欧美在线视频观看| 国产精品极品美女粉嫩高清在线| 亚洲精品乱码久久久久久黑人| 国产揄拍国内精品对白| 亚洲欧美综合v| 久久精品国产第一区二区三区最新章节| 美女国内精品自产拍在线播放| 久久久久99精品国产片| 国产一区二区按摩在线观看| 亚洲曰本av电影| 欧美日韩国产三级| 亚洲天堂久久| 久久在线视频| 亚洲国产精品成人| 欧美日韩三级视频| 亚洲欧洲99久久| 亚洲国产精品一区在线观看不卡 | 一区二区三区欧美亚洲| 国产精品mm| 麻豆精品一区二区综合av | 欧美喷水视频| 欧美一区观看| 日韩午夜免费视频| 欧美wwwwww| 亚洲欧美日韩精品| a91a精品视频在线观看| 国产一区二区三区久久 | 久久久久五月天| 亚洲美女淫视频| 亚洲成在人线av| 国内不卡一区二区三区| 国产精品久久久久999| 免费美女久久99| 久久亚洲综合网| 久久婷婷色综合| 久久久噜噜噜久久久| 欧美一区午夜精品| 亚洲一区二区三区激情| 亚洲一区二区在线免费观看| 亚洲欧洲综合另类在线| 欧美成人综合| 最新中文字幕一区二区三区| 久久综合中文色婷婷| 久久人人97超碰国产公开结果| 久久成人18免费观看| 久久久综合精品| 亚洲国产精品一区| 亚洲另类视频| 先锋影音国产精品| 久久综合狠狠| 99精品久久久|