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

天下

記錄修行的印記

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>
            精品不卡一区| 欧美三级午夜理伦三级中视频| 亚洲黄页一区| 久久久不卡网国产精品一区| 国产精品专区一| 久久久777| 久久免费高清| 亚洲精品老司机| aaa亚洲精品一二三区| 国产精品男gay被猛男狂揉视频| 亚洲一级黄色av| 亚洲午夜视频在线| 国产精品成人一区二区| 午夜一区二区三区不卡视频| 亚洲综合第一| 亚洲成人在线视频播放| 亚洲欧洲视频在线| 国产精品高潮呻吟久久av黑人| 先锋a资源在线看亚洲| 欧美一区二区在线观看| 亚洲高清资源综合久久精品| 亚洲欧洲午夜| 国产一区二区毛片| 欧美激情一区二区三区| 国产精品第十页| 美女尤物久久精品| 欧美日韩精品在线| 久久精品91久久久久久再现| 欧美1区视频| 午夜精品www| 欧美ed2k| 久久精品视频网| 欧美日韩日韩| 欧美aⅴ一区二区三区视频| 欧美日韩精品一区二区在线播放 | 亚洲欧美在线免费| 欧美中文在线免费| 亚洲视频在线免费观看| 久久精品人人做人人爽电影蜜月| 日韩视频一区二区在线观看| 性感少妇一区| 亚洲午夜极品| 嫩草影视亚洲| 久久青草久久| 国产欧美视频一区二区| 亚洲一区二区三| 久久婷婷久久| 久久精品人人爽| 国产精品国产a级| 欧美黄色大片网站| 韩日精品中文字幕| 亚洲影院免费| 亚洲视频免费| 欧美美女操人视频| 欧美大片一区二区三区| 国内一区二区三区在线视频| 正在播放日韩| 中文在线资源观看网站视频免费不卡| 久久精彩视频| 久久免费一区| 国产亚洲欧美日韩美女| 亚洲午夜av电影| 亚洲愉拍自拍另类高清精品| 亚洲综合日韩在线| 亚洲一区二区三| 欧美亚州韩日在线看免费版国语版| 女女同性精品视频| 国语自产在线不卡| 欧美主播一区二区三区| 欧美在线观看视频在线| 国产精品白丝av嫩草影院| 一区二区三区精品视频| 亚洲永久免费精品| 国产精品久久一区主播| 在线午夜精品自拍| 欧美亚洲免费高清在线观看| 国产精品伊人日日| 欧美在线国产精品| 能在线观看的日韩av| 亚洲电影免费在线观看| 久久―日本道色综合久久| 欧美国产免费| 野花国产精品入口| 欧美午夜视频一区二区| 一区二区av| 欧美中文字幕不卡| 激情久久综合| 欧美高清视频在线| 在线一区二区三区四区五区| 欧美在线国产| 雨宫琴音一区二区在线| 欧美精品亚洲精品| 午夜精品在线视频| 欧美成人午夜| 午夜精品福利一区二区三区av| 国产日韩欧美黄色| 猫咪成人在线观看| 中文av字幕一区| 久热re这里精品视频在线6| 日韩视频一区二区三区在线播放 | 久久综合伊人77777| 91久久香蕉国产日韩欧美9色| 亚洲一级在线观看| 黄色成人在线| 欧美日韩亚洲视频| 欧美在线一二三四区| 欧美激情亚洲国产| 欧美一区二区视频免费观看| 在线观看不卡av| 欧美午夜精品伦理| 久久久蜜桃精品| 在线一区二区三区四区五区| 免费看黄裸体一级大秀欧美| 亚洲一区bb| 亚洲人成人一区二区在线观看| 欧美性猛交xxxx乱大交蜜桃| 可以免费看不卡的av网站| 一区二区三区欧美激情| 欧美激情一区二区三区在线视频| 午夜在线电影亚洲一区| 亚洲精品视频啊美女在线直播| 国产欧美精品一区二区三区介绍| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲一区在线观看免费观看电影高清| 欧美激情片在线观看| 久久久久久免费| 亚洲自拍偷拍色片视频| 亚洲美女中出| 亚洲国产导航| 红桃视频国产一区| 国产精品自在在线| 欧美日韩亚洲一区二区三区在线观看| 久久亚洲精品视频| 欧美伊人久久久久久久久影院| av成人免费观看| 亚洲精品网站在线播放gif| 免费在线看一区| 久久一区视频| 亚洲精品女av网站| 亚洲第一久久影院| 狠狠久久亚洲欧美| 狠狠狠色丁香婷婷综合激情| 国产日韩在线看| 国产伦精品一区二区三区| 国产精品夫妻自拍| 欧美性猛交xxxx乱大交退制版| 欧美日本精品在线| 欧美精品日韩综合在线| 欧美韩日一区二区| 欧美日韩高清在线| 欧美三级在线| 国产精品视频xxx| 国产精品影音先锋| 国产日韩一区二区三区在线| 国产欧美综合一区二区三区| 国产欧美一区二区三区在线老狼 | 亚洲欧美国产高清| 亚洲欧美成人一区二区在线电影 | 久久国产欧美精品| 久久亚洲春色中文字幕| 久久综合电影一区| 欧美大片在线观看| 亚洲三级影院| 亚洲一区欧美一区| 久久er99精品| 欧美成年人视频网站| 欧美日韩国产美女| 国产精品扒开腿做爽爽爽软件| 国产日本欧美一区二区三区在线| 国产一区av在线| 91久久精品国产91性色tv| 日韩视频在线观看| 午夜精品久久久99热福利| 久久久av网站| 亚洲高清在线观看| 一区二区欧美日韩| 久久精品国产亚洲5555| 两个人的视频www国产精品| 欧美激情第五页| 国产精品亚洲不卡a| 在线观看视频免费一区二区三区| 一区二区免费看| 久久久久久婷| 亚洲免费大片| 久久深夜福利免费观看| 欧美激情片在线观看| 国产精品一级| 日韩亚洲不卡在线| 欧美亚洲网站| 亚洲欧洲精品一区二区三区| 亚洲欧美日本精品| 欧美激情性爽国产精品17p| 国产色产综合产在线视频| 亚洲电影免费观看高清完整版在线观看 | 国产有码一区二区| 亚洲最新视频在线播放| 久久久久国色av免费观看性色| 亚洲精品国产精品国自产观看浪潮| 午夜天堂精品久久久久| 欧美精品自拍偷拍动漫精品|