目录

区别:

使用类还是结构体?


区别:

区别:

在c++中struct和class默认的访问权限不同

struct默认权限为公共权限

class默认权限为私有权限

例:

第4行为类,第9行为结构体。在18行为类的对象属性赋值发生了错误,而在19行为结构体对象的属性赋值正确。因为类的默认属性为私有,不允许类外访问;而结构体默认属性为公共,可以访问


区别2:

结构体是值类型,类是引用类型


区别3:

结构体使用栈存储,类使用堆存储


使用类还是结构体?

1、因为结构体是值类型,自身储存在栈上,主要用于轻量级对象,用来储存简单的数据;

2、因为类是引用类型,可以抽象、继承等,适合存储重量级对象,拥有复杂逻辑;

3、在表现抽象或多级别的对象层次时,最好使用类。

一般在编程过程中,主要使用类,而非结构体

结构体和类的区别和使用建议相关推荐

  1. 【唐老狮】C#——结构体和类的区别

    [结构体和类的区别] 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参 ...

  2. [C#]结构体和类的区别

    结构体和类的区别:     在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同, ...

  3. 结构体和类的区别详细讲解

    结构体和类的区别 C的结构体和C++结构体的区别 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数.所以C的结构体是没有构造函数.析构函数.和this指针的. C的结构体对 ...

  4. C#中的结构体与类的区别

    转载自:https://www.cnblogs.com/to-creat/p/5268729.html C#中的结构体与类的区别 经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自 ...

  5. C#中结构体和类的区别

    结构体和类同样能够定义字段,方法和构造函数,都能实例化对象,这样看来结构体和类的功能好像是一样的了,但是他们在数据的存储上是不一样的 C#结构体和类的区别问题 这两种数据类型的本质区别主要是各自指向的 ...

  6. C语言结构体与C++中结构体和类的区别

    在C++中除了类中可以有构造函数和析构函数外,结构体中也可以包含构造函数和析构函数,这是因为结构体和类基本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有.注意,C++中的结构体是可以有析 ...

  7. C++中结构体与类的区别介绍

    在参与以C++为编程基础的项目应用中总会遇到结构体类型与类的数据类型,但是其具体应用区别模糊不清 现将其区别总结如下,欢迎补充共同学习(先介绍C和C++中结构体的不同,再对比C++中结构体与类的区别) ...

  8. swift string转int_swift中结构体和类的区别(值类型和引用类型的区别)

    在swift中结构体和类有着更多的相同之处,在一般的使用中能够做到互相替换.我们可以先看看官方文档的描述: Unlike other programming languages, Swift does ...

  9. 结构体和类的区别(待考究)

     1.C的结构体和C++结构体的区别 1.1 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数.所以C的结构体是没有构造函数.析构函数.和this指针的. 1.2 C的 ...

最新文章

  1. 第一章 python学习,个人对计算机硬件的一些理解
  2. spark 提交任务到集群
  3. qlabel设置换行符无效_php 字符串中的\n换行符无效、不能换行的解决方法
  4. Java知多少(18)类的定义及其实例化
  5. javaTemplates-学习笔记四
  6. IDEA : IDEA 打开使用内存监控
  7. 我可以编写一个CSS选择器来选择不具有某个类或属性的元素吗?
  8. Windows 8(Windows Developer Preview)先体验
  9. win10+Ubuntu16.04 LTS双系统完美教程
  10. windows 程序员计算器 详细解释
  11. 小米平板4twrp一键刷入工具_不要浪费小米10的双扬声器!杜比全景音刷入教程分享...
  12. python xlwt模块下载_python 的xlwt模块
  13. 吴恩达深度学习笔记(40)-指数加权平均数优化算法
  14. 区别:符号变量和常变量
  15. WIN10桌面任务栏消失变黑色的解决方法
  16. mybatis如何判断update操作是否成功
  17. 推荐几个Python爬虫接单渠道
  18. 【算法导论】生日悖论
  19. Yii框架中setFlash和getFlash函数的用法
  20. 多线程|pi2.c 使用N个线程根据莱布尼兹级数计算PI

热门文章

  1. 微信小程序获取用户信息接口突然不弹授权框了,用户名‘微信用户’,头像空白(<button open-type=“getUserInfo“/>已弃用)
  2. MySQL 隔离级别
  3. Mac小技巧 强制退出程序的六种方法
  4. 史上最全SQL学习指南(教程+实例+练习题)
  5. css position:absolute 居中
  6. 产业分析:100大行业全景图谱
  7. 三大模型十大算法(一)
  8. 我的宝宝有了他/她的乳名!
  9. iMovie使用技巧
  10. 一次黑苹果的安装记录,大家多多学习,多看博客。