zoukankan      html  css  js  c++  java
  • C#和C++的区别(一)

    C#特性

    1.指针可以有++、--运算,引用不可以运算;

    2.类或结构的默认访问类型是internal

    类的所有成员,默认是private

    3.属性:用于定义一些命名特性,通过它来读取和写入相关的特性;

    4.索引器:使该类的实例可按与数组相同的(语法)方式进行索引;

    5.待续。。。。。。。。。。

    C#与C++的一些区别



    1、函数返回值类型:

       
       C#里返回值基本上可以使任何类型,C++则不行,C++的函数返回值类型必须是除了函数和数组类型之外的其他任何类型。


    2、switch(参数类型):



       C#参数类型可以是任何类型,C++则必须是整形。


    3、数组:



       以定义一个int类型的4行4列的二维数组arr为例:
       C#定义数组格式是: int[][] arr = new int[4][4];
       C++定义数组的格式是:int arr[4][4];


    4、定义一个对象;


       C++:两种用法


    ClassA objA;objA.FieldA=valueA;//对象法
    ClassA * objA=new ClassA();objA->FieldA=valueA;//指针法
       C#:  ClassA objA=new ClassA();objA.FieldA=valueA;

     

    5、函数参数类型为数组时:



      C++:当参数类型为数组时,函数默认当成指针类型来处理,在函数体里改变数组里的值,函数外面也跟着改变;


      C# :当参数类型为数组时,函数默认当成引用类型来处理,在函数体里改变数组里的值,函数外面也跟着改变;


     

    6、函数参数类型为对象时:



      C++:当参数类型为对象时,函数在传参时进行对象的复制,在函数体里改变数组里的值,函数外面不会跟着改变;


      C# :当参数类型为对象时,函数默认当成引用类型来处理,在函数体里改变数组里的值,函数外面也跟着改变;




    7、局部变量和全局变量的名称可不可以相同;



    C++中是可以相同的,且局部变量会覆盖全局变量的值;C#中全局变量和局部变量的名称不可以相同;



    8、C++中当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动对其初始化;而在C#中无论是局部变量还是全局变量系统都会对其初始化;




    9、关于路径的写法:



    C#:绝对路径:D:\GisMap\text2.txt;相对路径:GisMap\text2.txt,表示exe同级目录下的Gismap目录下的text2.txt文件;..\GisMap\text2.txt表示exe所在目录下上一级目录下的Gismap目录下的text2.txt;


    C++:绝对路径:D:\GisMap\text2.txt;相对路径:.GisMap\text2.txt,表示VC源码同级目录下的Gismap目录下的text2.txt文件;..\GisMap\text2.txt表示VC源码所在目录下上一级目录下的Gismap目录下的text2.txt;


  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387225.html
Copyright © 2011-2022 走看看