首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从本机代码将cli :: array转换为本机数组?

从本机代码将cli::array转换为本机数组,可以使用以下方法:

  1. 遍历cli::array,将每个元素添加到本机数组中。
代码语言:cpp
复制
cli::array<int>^ cliArray = gcnew cli::array<int>(5);
cliArray[0] = 1;
cliArray[1] = 2;
cliArray[2] = 3;
cliArray[3] = 4;
cliArray[4] = 5;

int nativeArray[5];
for (int i = 0; i < 5; i++) {
    nativeArray[i] = cliArray[i];
}
  1. 使用C++/CLI中的pin_ptr来固定本机数组,然后使用Marshal::Copy将cli::array中的元素复制到本机数组中。
代码语言:cpp
复制
cli::array<int>^ cliArray = gcnew cli::array<int>(5);
cliArray[0] = 1;
cliArray[1] = 2;
cliArray[2] = 3;
cliArray[3] = 4;
cliArray[4] = 5;

int nativeArray[5];
pin_ptr<int> pinnedArray = &nativeArray[0];
Marshal::Copy(cliArray, 0, IntPtr(pinnedArray), 5);

这样,就可以将cli::array转换为本机数组。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android开发笔记(一百五十五)利用GL10描绘点、线、面

    上一篇文章介绍了GL10的常用方法,包括如何设置颜色、如何指定坐标系、如何调整镜头参数、如何挪动观测方位等等,不过这些方法只是绘图前的准备工作,真正描绘点、线、面的制图工作并未涉及,那么本文就来谈谈如何利用GL10进行实际的三维绘图操作。 首先在三维坐标系中,每个点都有x、y、z三个方向上的坐标值,这样需要三个浮点数来表示一个点。然后一个面又至少由三个点组成,例如三个点可以构成一个三角形,而四个点可以构成一个四边形。于是OpenGL使用浮点数组表达一块平面区域的时候,数组大小=该面的顶点个数*3,也就是说,每三个浮点数用来指定一个顶点的x、y、z三轴坐标,所以总共需要三倍于顶点数量的浮点数才能表示这些顶点构成的平面。以下举个定义四边形的浮点数组例子:

    03
    领券