广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中CLI模块的基本语法是什么
  • 781
分享到

C++中CLI模块的基本语法是什么

2023-07-02 15:07:26 781人浏览 八月长安
摘要

本文小编为大家详细介绍“c++中CLI模块的基本语法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本语法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。托管对象的创建和引用在前文

本文小编为大家详细介绍“c++中CLI模块的基本语法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本语法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

托管对象的创建和引用

在前文中我们已经演示过创建一个托管对象,对于如下C#代码:

System.Object x = new System.Object();

其在C++/CLI中的等价代码如下:

System::Object^ x = GCnew System::Object();

和传统的C++创建的语法比较下,

P* x = new P();

我们不难发现,对于托管对象,主要引入了如下两个语法:

  • 用gcnew代替new实现托管对象的创建

  • 用^代替*实现托管对象的指针

这种方式创建的对象是可以直接被CLR支持的,可以在C#中使用。托管对象指针使用的方式和传统的对象指针还是比较类似的,直接使用->即可:

System::Object^ x = gcnew System::Object();auto str = x->ToString();

另外,C++/CLI也有一种类似于C++的对托管对象的引用的语法:

System::Object^ x = gcnew System::Object();System::Object% y = *x;auto str = y.ToString();

由于这种方式在C#里没有对应的语法,用起来感觉怪怪的,也不方便于其它.net语言集成。

托管类型的定义

我们也可以自定义托管类型,在CLR中,托管类型是分为引用类型(class)和值类型(struct)的,在C++/CLI中的分别定义方式如下:

引用类型:

public ref class MyClass{};

值类型:

public value class MyClass{};

在ISO C++中类定义中加上了ref或value标记为托管类型,还算比较容易使用。

枚举

枚举的定义和C++11的enum class一样,它像数字那样可以同时应用于托管类型和非托管类型。

public enum class SomeColors { Red, Yellow, Blue };

或者更精确的表示:

public enum class SomeColors : char { Red, Yellow, Blue };

数组

C++/CLI中新增了array<T> ^的方式定义数组。

array<int> ^a = gcnew array<int>(100) { 1, 2, 3 };

或者使用它的完整版:

cli::array<int> ^a = gcnew cli::array<int> {1, 2, 3};

不定参数

对于C#中的不定参数的语法:

void foo(params string[] args)

在C++/CLI中对应的版本为:

void foo(... array<String^>^ args)

读到这里,这篇“C++中CLI模块的基本语法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C++中CLI模块的基本语法是什么

本文链接: https://www.lsjlt.com/news/342647.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中CLI模块的基本语法是什么
    本文小编为大家详细介绍“C++中CLI模块的基本语法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本语法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。托管对象的创建和引用在前文...
    99+
    2023-07-02
  • C++超集C++/CLI模块的基本语法
    托管对象的创建和引用 在前文中我们已经演示过创建一个托管对象,对于如下C#代码: System.Object x = new System.Object(); 其在C++/CLI中的...
    99+
    2022-11-13
  • C++超集C++/CLI模块的基本用法
    C#和C++是非常相似的两种语言,然而我们却常常将其用于两种不同的地方,C#得益于其简洁的语法和丰富的类库,常用来构建业务系统。C++则具有底层API的访问能力和拔尖的执行效率,往往...
    99+
    2022-11-13
  • C++超集C++/CLI模块的基本类型
    数值类型 对于基本的数值类型,在C++/CLI中是可以直接映射为托管类型的数值的,可以同时应用于托管类型和非托管类型,编译器会将其自动转换。 基本类型System命名空间中对应的类注...
    99+
    2022-11-13
  • C++中CLI模块的基本类型有哪些
    本文小编为大家详细介绍“C++中CLI模块的基本类型有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本类型有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数值类型对于基本的数值类型...
    99+
    2023-07-02
  • Node http模块基本使用方法是什么
    这篇文章主要介绍了Node http模块基本使用方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node http模块基本使用方法是什么文章都会有所收获,下面我们一起来看看吧。http 模块使用 Nod...
    99+
    2023-07-05
  • Memcached的基本语法是什么
    本篇内容主要讲解“Memcached的基本语法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Memcached的基本语法是什么”吧! Memcached...
    99+
    2022-10-19
  • HTML基本语法是什么
    这篇文章主要介绍HTML基本语法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!<!--登录窗口--><div class=”m-win”><for...
    99+
    2022-10-19
  • Python中切片的基本语法是什么
    Python中切片的基本语法是`[start:stop:step]`。- `start`表示切片的起始索引(包含在切片中)。- `s...
    99+
    2023-09-08
    python
  • Python基本的语法是什么呢
    Python基本的语法是什么呢,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python 作为一门计算机语言自然有它自己的语法规则,就像英语、汉语都有自己的语法规则一样。P...
    99+
    2023-06-02
  • c#中LINQ的基本使用方法是什么
    今天小编给大家分享一下c#中LINQ的基本使用方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.筛选LINQ查询使...
    99+
    2023-06-30
  • C语言的基本编写规范是什么
    C语言的基本编写规范是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的...
    99+
    2023-06-26
  • 为什么VB.NET模块在C#等语言中是没有的
    小编给大家分享一下为什么VB.NET模块在C#等语言中是没有的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先,这是一个历史原因。早先的VB语言都有模块和类模块...
    99+
    2023-06-17
  • CSS语法的基本规则是什么
    这篇文章主要为大家展示了“CSS语法的基本规则是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS语法的基本规则是什么”这篇文章吧。 ...
    99+
    2022-10-19
  • avaScript基本的语法规则是什么
    今天小编给大家分享一下avaScript基本的语法规则是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、运算符&nbs...
    99+
    2023-06-29
  • C语言基本数据类型是什么
    这篇文章主要讲解了“C语言基本数据类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言基本数据类型是什么”吧!1.C 语言包含的数据类型如下图所示:2.C语言的基本数据类型shor...
    99+
    2023-06-22
  • Html基本语法规则是什么
    这篇文章主要介绍“Html基本语法规则是什么”,在日常操作中,相信很多人在Html基本语法规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Html基本语法规则是什么”...
    99+
    2022-10-19
  • VBS脚本基础语法是什么
    这篇文章主要讲解了“VBS脚本基础语法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS脚本基础语法是什么”吧!一、编辑VBS的相关软件对于基于VBS的编程,我们可以直接使用记事本来...
    99+
    2023-06-30
  • C++ vector的基本使用方法是什么
    这篇文章主要介绍“C++ vector的基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++ vector的基本使用方法是什么”文章能帮助大家解决问题。一、ve...
    99+
    2023-07-05
  • HTML5本地存储globalStorage的基本语法是什么
    这篇文章主要介绍“HTML5本地存储globalStorage的基本语法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5本地存储globalStora...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作