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

天下

記錄修行的印記

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>
            狠狠爱综合网| 亚洲精品视频在线| 久久福利毛片| 欧美一区二区三区在| 国产午夜精品一区二区三区欧美| 午夜激情一区| 亚洲免费一在线| 狠狠色丁香婷婷综合| 免费亚洲电影在线观看| 免费成人你懂的| 99亚洲一区二区| 亚洲一区二区三区乱码aⅴ| 国产精品入口夜色视频大尺度| 午夜精品成人在线视频| 久久精品二区三区| 亚洲精品一区二区三区蜜桃久 | 国产美女精品视频免费观看| 欧美在线播放一区二区| 久久婷婷久久一区二区三区| 日韩亚洲视频| 欧美亚洲在线视频| 亚洲精品中文字幕在线观看| 99re8这里有精品热视频免费| 国产欧美日韩激情| 欧美激情免费观看| 国产区日韩欧美| 欧美成人免费一级人片100| 欧美精选一区| 久久中文欧美| 欧美亚日韩国产aⅴ精品中极品| 午夜一区在线| 欧美韩国在线| 久久一二三区| 国产精品一区一区三区| 欧美成人精品福利| 国产日韩欧美黄色| 日韩午夜三级在线| 亚洲电影观看| 欧美一区二区三区久久精品 | 欧美丝袜一区二区| 欧美激情 亚洲a∨综合| 国产偷久久久精品专区| 91久久综合| 狠狠久久婷婷| 亚洲欧美日韩直播| 亚洲色图在线视频| 欧美18av| 欧美成人国产一区二区| 国产日韩欧美日韩| 国产精品盗摄久久久| 久久综合伊人77777麻豆| 国产精品视频yy9099| 亚洲激情视频在线播放| 伊伊综合在线| 久久久99精品免费观看不卡| 亚洲欧美日韩精品综合在线观看| 欧美国产一区二区在线观看 | 久久裸体视频| 国产精品久久久久久av下载红粉| 亚洲激情啪啪| 亚洲精品在线一区二区| 母乳一区在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 午夜精品久久久久久久久| 在线视频欧美日韩精品| 欧美激情综合网| 亚洲黑丝在线| 日韩一级在线| 欧美另类一区| 99re热精品| 亚洲欧美日韩人成在线播放| 欧美网站在线| 中文亚洲字幕| 欧美在线播放视频| 红桃视频成人| 美女视频一区免费观看| 亚洲国产综合在线看不卡| 99在线精品视频在线观看| 欧美人妖在线观看| 亚洲小说欧美另类婷婷| 久久精品123| 亚洲激情视频在线播放| 欧美精品在线视频| 一区二区三区av| 欧美一级专区免费大片| 国语自产精品视频在线看8查询8| 久久久久久噜噜噜久久久精品| 欧美大片一区二区| 亚洲一级黄色片| 国产欧美一区二区精品忘忧草| 久久精品色图| 亚洲激情视频在线| 欧美一区二区视频97| 黄网站免费久久| 欧美日本国产一区| 亚洲欧美综合| 亚洲国产精品欧美一二99| 亚洲影院污污.| 精品成人在线| 国产精品久久久久久妇女6080 | 一区二区三区不卡视频在线观看| 欧美一区二区黄| 亚洲国产片色| 国产精品一区二区三区四区五区| 久久婷婷丁香| 亚洲桃花岛网站| 欧美黄网免费在线观看| 亚洲自拍偷拍视频| 亚洲经典自拍| 国产日本欧美一区二区三区在线 | 亚洲特级毛片| 欧美第十八页| 久久精品国产91精品亚洲| 亚洲人成7777| 国产综合在线看| 欧美日韩视频一区二区| 久久色中文字幕| 午夜日韩福利| 在线视频你懂得一区二区三区| 欧美成人免费va影院高清| 亚洲欧美制服另类日韩| 99精品视频免费观看视频| 国内精品久久久久久久97牛牛| 欧美日韩亚洲一区二区三区四区| 久久久久久9999| 午夜日韩福利| 亚洲综合成人在线| 夜夜爽99久久国产综合精品女不卡| 免费永久网站黄欧美| 久久久99精品免费观看不卡| 亚洲专区在线视频| 在线性视频日韩欧美| 亚洲理论在线观看| 亚洲国内自拍| 亚洲国产片色| 亚洲福利视频在线| 1769国产精品| 1000精品久久久久久久久| 国产综合欧美| 国产一区二区三区四区三区四| 国产精品一区一区三区| 国产精品成人播放| 国产精品久久久久7777婷婷| 欧美日韩一区二| 欧美日韩视频在线| 欧美日韩和欧美的一区二区| 欧美精品乱人伦久久久久久| 欧美大秀在线观看| 欧美激情第10页| 欧美日本不卡高清| 国产精品成人播放| 欧美午夜片欧美片在线观看| 欧美日韩色一区| 国产精品一区二区在线观看不卡 | 国产日韩欧美高清免费| 国产美女精品一区二区三区 | 狂野欧美激情性xxxx| 久久综合伊人77777蜜臀| 麻豆精品视频在线| 欧美大片免费观看在线观看网站推荐| 免费在线国产精品| 欧美日本三区| 国产精品网站在线播放| 国产一区二区三区精品久久久 | 欧美视频在线观看免费| 国产精品成人观看视频免费 | 国产精品草莓在线免费观看| 国产精品免费看| 国语自产精品视频在线看抢先版结局 | 欧美午夜久久久| 国产视频一区在线观看一区免费 | 欧美福利一区| 国产精品jizz在线观看美国| 国产乱码精品一区二区三区忘忧草| 国产视频一区欧美| 亚洲国产精品一区二区久| 一区二区三区精品久久久| 羞羞漫画18久久大片| 欧美不卡视频一区发布| 99热在这里有精品免费| 久久精品国亚洲| 欧美日韩国产黄| 国产一区二区三区久久| 亚洲精品一区二区三区不| 性亚洲最疯狂xxxx高清| 欧美高清hd18日本| 亚洲影院一区| 欧美激情 亚洲a∨综合| 国产亚洲成av人片在线观看桃| 亚洲国产成人91精品| 欧美一区二区视频在线观看2020 | 亚洲区中文字幕| 欧美在线999| 欧美日韩无遮挡| 亚洲国产精品第一区二区三区| 亚洲欧美中文在线视频| 亚洲青涩在线| 久久久综合视频| 国产情人节一区| 亚洲一区免费在线观看|