C++/Cli语言语法总结
2014-02-17 13:24
357 查看
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());
===========================================================
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、类的声明和引用
引用某个类时,需引用该类所在的空间;
若引用代码和类定义在同一个命名空间,但在不同的文件,则引用类声明的头文件;
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++模板,其语法是一样的,许多特性也一样的,也在编译时解析。依我的观点,两者是完全一样的。
相关文章推荐
- Defining a Copy Constructor for a Reference Class Type
- c++/cli学习
- 如何使用VS2008 C++/CLI 来自动化操作Excel
- C#调用C++ DLL动态库的两种方式
- C++/CLI 创建WinForm程序
- C++/CLI 创建WPF程序
- 【C++/CLI】如何将数值转为字符串
- C++/CLI 窗体程序通过空间的name操纵控件
- 通过C++/CLI使用FFMPEG库进行视频解码[初步]
- Visual Studio中 ATL CLR MFC Win32 区别
- VC++2010工程中加入SplashScreen
- 2012蓝桥杯【初赛试题】手机尾号
- C++命名空间
- 2012蓝桥杯【初赛试题】身份证
- 2012蓝桥杯【初赛试题】干支纪年
- C++编译错误:multiple types in one declaration
- 设计模式(C++版)之(factory)工厂模式
- 介绍C++
- C++中的转义字符
- C++进阶必知