1 首先说明一下到目前为止我掌握的一点点的知识。

A 类是引用类型。 可以自动以默认的构造的函数。

B 结构是值类型,所有的值类型都是基于结构类型的, 不可以自动以默认的构造函数。

C 类和结构进行比较的时候都是比较他们的引用,但是为什么值类型进行比较的时候会认为他们是相同的,或者是不相同的那,这是因为值类型都是先了一个接口Tcompare 。这样即使是两个值类型的地址空间不一样,也不会认为他们是相同的,而是相同的,应该是实现了两个接口,另外一个接口是什么,有时间进行研究一下。

对字段的初始值有一个简便的语法支持,类是支持的,而结构是不支持的。

   struct  structStu{int i ; //int i =5 这么做是错的的写法  为什么这么写是错误的啊,因为struct不能自定义默认的构造函数。int j ;public structStu(int ii){i=ii ; //构造函数必须对所有的变量进行初始化。j = ii; //如果没有这行代码,也是错误的。}}

D  什么情况下使用结构

和简单值类型具有相似的行为。 所有的简单值类型都是基于结构类型的。

数据成员大小在16kb一下。 因为结构的内存是分配在栈上的,如果频繁使用的话,会导致数据被大量的复制。

不需要特别的初始化操作。 这是因为结构不提供默认的构造函数。

F 结构是一种轻量级的数据封装结构。

本人的疑惑点 :

结构分配到堆上,和分配到栈上有啥区别 ?

栈 是系统分配的,先进后出的原这。地址是连续的,效率比较快。

堆 是程序员分配的,地址不连续,效率比较慢。

综上所述, : 结构是一个特殊的类型,没有理解清楚的情况下,少用,否则会带来程序资源的极大浪费,以及计算效率的低下。

以后有时间了 写一个结构的专题吧!

转载于:https://www.cnblogs.com/sdgxbooy/archive/2012/01/08/8902793.html

我对类和结构的一点理解相关推荐

  1. 谈谈对APC的一点理解

    谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...

  2. python 类中定义列表_Python-从类定义中的列表理解访问类变量

    小编典典 类范围和列表,集合或字典的理解以及生成器表达式不混合. 为什么:或者,官方用词 在Python 3中,为列表理解赋予了它们自己的适当范围(本地名称空间),以防止其局部变量渗入周围的范围内(即 ...

  3. 《从零开始学Swift》学习笔记(Day 30)——选择类还是结构体呢?

    原创文章,欢迎转载.转载请注明:关东升的博客 类和结构体非常相似,很多情况下没有区别.如果你是设计人员在进行系统设计时候,是将某种类型设计成为类还是结构体? 类和结构体异同: 类和结构体都有如下功能: ...

  4. JVM_01 内存结构(深入理解+图解)

    本文笔记参考创智播客JVM课程 和<深入理解Java虚拟机第三版> 传智播客JVM 一.JVM 入门介绍 1.1 JVM 定义 Java Virtual Machine,JAVA程序的运行 ...

  5. Python:类与结构体

    Python的类提供了面向对象编程的所有标准特性:类继承机制允许有多个基类,一个派生类可以覆盖基类中的任何方法,一个方法可以使用相同的名字调用基类中的方法. 1. Python的域(scopes)和名 ...

  6. bottleneck resnet网络_关于ResNet网络的一点理解(网络结构、building block 及 “bottleneck” building block)...

    [时间]2018.10.05 [题目]关于ResNet网络的一点理解(网络结构.building block 及 "bottleneck" building block) 概述 本 ...

  7. 再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类

    上次我对C#类与结构体做了一次速度评测(http://blog.csdn.net/zyl910/article/details/6788417).经过一段时间思索,发现还可以进一步探讨-- 第一.栈变 ...

  8. C++_类和结构体所占内存大小,静态成员问题

    C++_类和结构体所占内存大小,静态成员问题 静态成员未初始化或者未调用(当然静态成员必须类外初始化才能调用)是不占内存的.静态成员不占类或结构体的内存 静态成员函数同样只声明未定义同样不占内存 指针 ...

  9. Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等

    一.类与结构体 两者在Swift中差不了多少了 类与结构体有很多相同的地方: (第2,3点是其他语言中不存在的) 1)都可以定义属性/方法/下标(结构体也可以定义方法了) 2)都能初始化(通过构造方法 ...

最新文章

  1. SCOPE_IDENTITY()
  2. Linux中通过Socket文件描述符寻找连接状态介绍
  3. 【2016年第5期】位置大数据在车辆保险风险管理中的应用
  4. 测开之路五十:monggodb安装与初步使用
  5. 51 nod 1006 最长公共子序列Lcs
  6. wtform 表单示例
  7. select支持手动输入
  8. Qt的环境与工具、信号与槽
  9. 微软应用商店_微软商店那些好用的UWP软件!你不看这篇文章会后悔的!超级实用! | APP杂货店...
  10. PowerBuilder制作纸牌游戏
  11. nvme固态硬盘开机慢_固态硬盘速度慢?三步教你开启SSD全速模式!
  12. Sublime Text 2 代码编辑器使用技巧
  13. 基于51单片机+DS18B20温度测温器+LCD1602显示
  14. h5页面 请在微信客户端打开链接_电脑版微信网页授权提示请在微信客户端打开链接?...
  15. 翼支付在Sharding-Sphere项目工作介绍
  16. Apache-DBUtils实现CRUD操作
  17. SLAM 岗位求职与简历书写
  18. 你的小米手机升级MIUI11后,电池掉电很快?那是这些设置没关掉吧
  19. Java各种数据类型互转
  20. QList添加自定义结构体

热门文章

  1. mysql -h 日志打印_mysql日志
  2. shell条件判断 if else
  3. 计算机无法播放asf格式,ASF文件怎么打开播放出来?
  4. Filter过滤器输出HelloFilter
  5. FJ的字符串(字符串)
  6. python将excel文件变成txt文件
  7. tensorflow基础(2)-tf.argmax和axis
  8. grid.getSelectionModel的所有操作
  9. 吴恩达深度学习4.2练习_Convolutional Neural Networks_Happy House Residual Networks
  10. netty消息分发思路