返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++超集C++/CLI模块的基本语法
  • 280
分享到

C++超集C++/CLI模块的基本语法

2024-04-02 19:04:59 280人浏览 八月长安
摘要

托管对象的创建和引用 在前文中我们已经演示过创建一个托管对象,对于如下C#代码: System.Object x = new System.Object(); 其在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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C++超集C++/CLI模块的基本语法

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

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

猜你喜欢
  • C++超集C++/CLI模块的基本语法
    托管对象的创建和引用 在前文中我们已经演示过创建一个托管对象,对于如下C#代码: System.Object x = new System.Object(); 其在C++/CLI中的...
    99+
    2024-04-02
  • C++超集C++/CLI模块的基本用法
    C#和C++是非常相似的两种语言,然而我们却常常将其用于两种不同的地方,C#得益于其简洁的语法和丰富的类库,常用来构建业务系统。C++则具有底层API的访问能力和拔尖的执行效率,往往...
    99+
    2024-04-02
  • C++超集C++/CLI模块的基本类型
    数值类型 对于基本的数值类型,在C++/CLI中是可以直接映射为托管类型的数值的,可以同时应用于托管类型和非托管类型,编译器会将其自动转换。 基本类型System命名空间中对应的类注...
    99+
    2024-04-02
  • C++中CLI模块的基本语法是什么
    本文小编为大家详细介绍“C++中CLI模块的基本语法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本语法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。托管对象的创建和引用在前文...
    99+
    2023-07-02
  • C++中CLI模块的基本类型有哪些
    本文小编为大家详细介绍“C++中CLI模块的基本类型有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本类型有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数值类型对于基本的数值类型...
    99+
    2023-07-02
  • C#基本语法简介
    目录一.基础语法二.变量三.常量四.CTS类型五.枚举六.名称空间七.Main()方法1.多个Main()方法2.给Main()方法传递参数八.C#预处理器指令1.#define和#...
    99+
    2024-04-02
  • C语言的基本语法详解
    目录1、标识符与关键字2、常量和符号常量(1)常量和常量符号(2)变量3、C语言数据类型(1)整型常量整型变量原码、反码和补码(2)实型数据实型常量实型变量实型变量的定义以及初始化(...
    99+
    2024-04-02
  • C语言类的基本语法详解
    目录1、由C语言的结构体进入到C++中的类2、C++中如何定义类?3、C++中实例化一个对象4、C++类的访问限定及其封装 C++中的访问限定符5、C++中类的作用域6、成员变量和方...
    99+
    2024-04-02
  • C语言的基本语法有哪些
    C语言的基本语法包括以下内容:1. 注释:用来给代码添加说明和解释,包括单行注释(以"//"开头)和多行注释(以""结尾)。2. 标...
    99+
    2023-08-08
    C语言
  • C#基本语法实例分析
    这篇“C#基本语法实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#基本语法实例分析”文章吧。一.基础语法C#区分大...
    99+
    2023-06-29
  • C#基本的语法字符有哪些
    本篇内容主要讲解“C#基本的语法字符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#基本的语法字符有哪些”吧!C#正则表达式之基本的语法字符\d  0-9的数字\D ...
    99+
    2023-06-17
  • C#中LINQ的基本语法是什么
    LINQ(Language Integrated Query)是C#中用于查询数据的语言集成查询功能。其基本语法如下: 查询数据:...
    99+
    2024-04-03
    LINQ
  • C语言 超详细模拟实现单链表的基本操作建议收藏
    目录1 链表的概念及结构2 链表的分类3 链表的实现无头+单向+非循环链表增删查改实现3.1 链表的定义3.2 链表数据的打印3.3 链表的尾插3.4 链表空间的动态申请3.5 链表...
    99+
    2024-04-02
  • C# for语句的基本知识
    这篇文章主要讲解了“C# for语句的基本知识”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C# for语句的基本知识”吧!C# for语句的用途比较广泛的用途,需要进行遍历和循环中,大多用...
    99+
    2023-06-17
  • C语言中switch语句基本用法实例
    目录switch语句:switch语句的基本格式C语言switch语句用法补充:用switch来给成绩等级 总结switch语句: 实际生活中,需要做出很多选择,大家都知道...
    99+
    2024-04-02
  • c#变量声明的基本语法是什么
    c# 变量声明语法: 数据类型 变量名; 数据类型:变量的数据类型(如 int、string)。 变量名:变量的名称(以字母开头,由字母、数字、下划线组成)。* 示例:int age; ...
    99+
    2024-04-04
    c#
  • 超详细的JavaScript基本语法规则
    目录01 JavaScript (简称:js)js分三个部分:JavaScript是什么?js的代码可以分三个地方写:02 操作符操作符:一些符号-----用来计算关系运算符:关系运...
    99+
    2024-04-02
  • 了解C语言的基本单位
    C语言作为一种广泛应用于系统编程和应用软件开发的编程语言,其基本单位主要包括变量、数据类型、运算符等。在学习和了解C语言的基础知识时,对这些基本单位的掌握尤为关键。本文将通过具体的代码...
    99+
    2024-04-02
  • C语言中switch语句基本用法有哪些
    C语言中的switch语句主要用于多分支的条件判断,其基本用法如下:1. 基本语法:```switch (expression) {...
    99+
    2023-08-15
    C语言 switch
  • C语言select语句的基本使用方法有哪些
    C语言中的select语句是一种条件判断语句,用于根据不同的条件执行不同的操作。它的基本使用方法如下:1.基本语法```select...
    99+
    2023-06-14
    select语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作