zoukankan      html  css  js  c++  java
  • C++/CLI VS CSharp

    Kenny Kerr 一篇名为C++: The Most Powerful Language for .NET Framework Programming文章中的对比表:

    描述

    C++/CLI

    C#

    创建引用类型的对象

    ReferenceType^ h = gcnew ReferenceType;

    ReferenceType h = new ReferenceType();

    创建值类型的对象

    ValueType v(3, 4);

    ValueType v = new ValueType(3, 4);

    引用类型在堆栈上

    ReferenceType h;

    N/A

    调用Dispose方法

    ReferenceType^ h = gcnew ReferenceType;

    delete h;

    ReferenceType h = new ReferenceType();

    ((IDisposable)h).Dispose();

    实现Dispose方法

    ~TypeName() {}

    void IDisposable.Dispose() {}

    实现Finalize 方法

    !TypeName() {}

    ~TypeName() {}

    装箱(Boxing

    int^ h = 123;

    object h = 123;

    拆箱(Unboxing

    int^ hi = 123;

    int c = *hi;

    object h = 123;

    int i = (int) h;

    定义引用类型

    ref class ReferenceType {};

    ref struct ReferenceType {};

    class ReferenceType {}

    定义值类型

    value class ValueType {};

    value struct ValueType {};

    struct ValueType {}

    使用属性

    h.Prop = 123;

    int v = h.Prop;

    h.Prop = 123;

    int v = h.Prop;

    定义属性

    property String^ Name 
    {
        String^ get()
        {
            return m_value;
        }
        void set(String^ value)
        {
            m_value = value;
        }
    }

    string Name 
    {
        get
        {
            return m_name;
        }
        set
        {
            m_name = value;
        }
    }

     

  • 相关阅读:
    网络抓包工具使用
    JAVA 原子操作类
    guava collection/cache初探
    MiniGUI
    Cookie
    System V IPC
    SQLite交叉编译
    NCurses交叉编译
    双向循环链表
    VMware安装Windows Server 2008
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1682404.html
Copyright © 2011-2022 走看看