• .NET面试题系列(九)C# 结构体与类的区别


    谈一下什么时候使用结构,什么使用类.

       我们知道,结构存储在栈中,而栈有1个特点,就是空间较小,但是访问速度较快,堆空间较大,但是访问速度相对较慢.所以当我们描述1个轻量级对象的时候,可以将其定义为结构来提高效率.比如点,矩形,颜色,这些对象是轻量级的对象,因为描述他们,只需要少量的字段。当描述1个重量级对象的时候,我们知道类的对象是存储在堆空间中的,我们就将重量级对象定义为类. 他们都表示可以包含数据成员和函数成员的数据结构。与类不同的是,结构是值类型并且不需要堆分配。结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用(该变量称为对象)。 struct 类型适合表示如点、矩形和颜色这样的轻量对象。尽管可能将一个点表示为类,但结构在某些方案中更有效。在一些情况下,结构的成本较低。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。所以结构适合表示1个轻量级对象.

       基于另外1个理由我也会使用结构. 我们在变量传值的时候,我就是希望传递对象的拷贝,而不是对象的引用地址,那么这个时候也可以使用结构了.

    https://blog.csdn.net/liujunjie612/article/details/71123606

  • 相关阅读:
    log&& buffevent&&内存池 1
    ngx内存池设计概阅
    读 perf 笔记 简写
    smaps 使用&& 内存泄露
    cache占用高 文件delete cache
    工具小用法 dropwatch ss perf
    golang 读书笔记 数据类型
    重看ebpf 通信&&数据结构分析
    TCP 发送缓冲区问题--根本原因是gso引起 转载
    重看ebpf -代码载入执行点-hook
  • 原文地址:https://www.cnblogs.com/cnki/p/9297242.html
Copyright © 2020-2023  润新知