V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yezheyu
V2EX  ›  程序员

写了点数据结构和类的笔记,大家帮我看看对吗?

  •  
  •   yezheyu · 2023-07-18 21:29:25 +08:00 · 1341 次点击
    这是一个创建于 524 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前用 js 和 python 比较多,对数据类型了解不深,最近重新学习了下 c 和 c++

    看到类这块,写了点笔记,大家看看我理解有误吗?

    从数据结构看类的演变

    • c 语言中最基础数据类型,它们都代表着几种最基础的数据结构,如 int 是占用 4 个字节的内存块,char 是占用 1 个字节的内存块,指针是占用 4/8 个字节的内存块

    • 把几种基础数据类型进行组合就组成了数组、结构体等复合数据结构,新建一个结构体就是定义一个新的数据类型,新建一个结构体变量,就是使用这个新的数据类型新建一个此类型的变量,或者说以这种数据结构为模板申请一块内存并填充数据

    • 在 C++中,在结构体的基础上,为了把数据和处理数据的函数绑定在一起,就引入了类(不考虑面向对象思想情况下),在整合几种基础的数据类型(成员变量)后,再使用指针变量保存相关函数地址(成员函数),整体形成一个创建这个类的数据结构的模板,即类本质也是一种自定义的数据类型

    4 条回复    2023-07-18 23:49:22 +08:00
    rpman
        1
    rpman  
       2023-07-18 22:59:26 +08:00
    > 新建一个结构体变量,就是使用这个新的数据类型新建一个此类型的变量,或者说以这种数据结构为模板申请一块内存并填充数据

    虽然不算错,但堆和栈最好分开讨论
    mm163
        2
    mm163  
       2023-07-18 23:09:35 +08:00
    不着急对不对,多看几遍吧,慢慢理解。
    smdbh
        3
    smdbh  
       2023-07-18 23:18:38 +08:00
    第三点,说的那些结构体也能沾边,不能抛开对象谈类
    weeei
        4
    weeei  
       2023-07-18 23:49:22 +08:00
    大差不差了,基本意思都对。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:35 · PVG 03:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.