C++/Cli语言语法总结

Cli语言的部分语法规则:

1、类的声明和引用

     引用某个类时,需引用该类所在的空间;

     若引用代码和类定义在同一个命名空间,但在不同的文件,则引用类声明的头文件;

2、类的方法

      类中方法的public/protect/private属性声明和C++中类似,均为关键字加冒号,即:

public:

    void  Function()

{

}

 

静态方法:     

public:

   static  void  Function()

{

}

 

3、类的方法调用:

 

静态方法:

    ClassA::StaticFun();

普通方法:

   Box^ newBox = gcnew Box(10, 15, 20);

   newBox->Volume());

 

C++/CLI和C#的等价构造(Construct)

C++/CLI                                    C#                                     描述
===========================================================
T::typeid                                    typeof(T)                           取得T的类型信息
pin_ptr<T>                                fixed                                  取得内存地址
!ClassName                              ~ClassName                      Finalizer(由GC调用)
~ClassName+delete                 IDisposable+using             Destructor(显式析构)
array<array<T^>^>^                  T[][]                                    锯齿数组
array<T^, 2>^                            T[,]                                      二维矩形数组
%                                               ref/out                                可跟踪引用
generic<typename T>
ref class Stack                           class Stack<T>                 generics

注意本地类的C++模板和.NET的generics是不同的。generics存在于程序集中,其实例【即特定类】在运行时实例化,而template只存在于源代码中【不存在于程序集中】,其实例【即特定类】在编译时实例化。

托管类的C++模板和本地类的C++模板,其语法是一样的,许多特性也一样的,也在编译时解析。依我的观点,两者是完全一样的。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值