zoukankan      html  css  js  c++  java
  • c#中struct和class的区别

    今天面试问到了这个问题,居然在默认访问权限这个细节上答错了,真想给自己一块板砖好好拍一把,nnd,看来对于基础知识的掌握还是不够牢固,希望别因为这个问题导致被pass掉了。。。

    总结区别如下:

    1.struct 是值类型,class是对象类型

    2.struct 不能被继承,class可以被继承

    3.struct 默认的访问权限是public,而class默认的访问权限是private.

    4.struct不能由程序员申明构造函数,即使是默认(不带参数)的构造函数,同样也不能有析构的处理部分。这是因为Struct的构造函数是由编译器自动生成的。并且Struct的用途是那些描述轻量级的对象,例如Line,Point等,并且效率比较高。

    5.struct的new和class的new是不同的。struct的new就是执行一下构造函数创建一个新实例再对所有的字段进行Copy。而class则是在堆上分配一块内存然后再执行构造函数,struct的内存并不是在new的时候分配的,而是在定义的时候分配

  • 相关阅读:
    _MSC_VER
    git之撤销修改
    vi/vim如何添加或删除多行注释
    C++ 读取文件数据和输出数据到文件
    git上传本地单独修改的文件
    Git学习笔记
    C++中类的声明
    linux中ldconfig的使用介绍
    #define 和 typedef 中的##
    find、xargs、grep基本用法
  • 原文地址:https://www.cnblogs.com/jiaruistone/p/1617342.html
Copyright © 2011-2022 走看看