C++的宏观与微观

2023-11-09

 宏观世界是由微观世界所组成,这是亘古不变的道理,C++同样是这样
如果说生物是由原子组成的,那么C++就是由对象模型组成的,对象模型就相当于原子模型,对象模型的变化和互相联系形成了目前C++一切的特性
再说C++宏观,C++的宏观表现为面向对象,由此细分了封装,继承,多态,反应到微观上就是对象模型,对象模型的扩展,对象模型转化。
C++语言特性是建立在这种对象模型的基础上的,并不是空想而来的。
那么,我们要不要搞到C++微观里面去?
我们并不是开发语言,也不是开发编译器,也不是开发操作系统,那么还要去理解微观上的C++吗?需要去理解C++对象在内存中得表现形式吗?
我不知道该用一个什么例子来形容我上面说的一切,可能有些人会说:你只要会开车就可以了,需要知道车是如何造出来的吗?
我觉得这个例子不好,我们自然只需要会开车就行了,对于车是怎么造出来的我们可以毫无所知,但绝不可能说,不理解C++的微观,却很会运用C++。我想不可能有这样的怪胎吧。!
学C++给我的感觉很想学生物,学化学,必须要在搞懂分子的基本组成上才能最终制造出新产品。但又有所不同,对象模型是C++的基石,相当于生物学,化学里的原子,分子。但是在计算机领域对象模型并不是原子分子,还有更深层次的汇编和二进制。所以我们学C++止步于对象模型就行了,不要在深入了,那就不是C++了。
至于宏观上如何运用好C++就不是这里讨论的问题了,那需要思想的升华和智慧的结晶。那需要大量的经验慢慢形成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++的宏观与微观 的相关文章

随机推荐

  • Linux开发(七):多线程通信与同步

    线程间无需特别的手段进行通信 因为线程间可以共享数据结构 也就是一个全局变量可以被两个线程同时使用 不过要注意的是线程间需要做好同步 目录 一 互斥锁 1 初始化 1 动态初始化 2 静态初始化 2 加锁 3 解锁 4 销毁互斥锁 5 互斥
  • 为什么bytes32等于uint256

    先说1byte等于8个字节 bytes32则等于8 32 256个字节 接着uint8同样等于8个字节 uint256即8个字节的32倍 256 8 32 因此看到byteX和uintY时 如果X 8 Y 意味着byteX uintY
  • JVM Troubleshooting命令-jinfo

    概述 用来查看正在运行的Java应用程序的扩展参数 支持在运行时 修改部分参数 命令格式 jinfo option pid jinfo option executable core jinfo option servier id remot
  • 代码坏味道与重构之重复代码

    文章目录 1 重复代码的特征 2 重复代码的影响 3 重复代码的重构技巧 1 重复代码的特征 重复代码是代码坏味道的典型代表 重复代码是指相同或相似的代码在一个以上的地方出现 通常有以下几种情形 同一个类 多个方法间重复 子类之间代码重复
  • ChatGPT API 中文版(google翻譯)

    https platform openai com docs api reference introduction 介紹 您可以通過任何語言的 HTTP 請求 我們的官方 Python 綁定 我們的官方 Node js 庫或社區維護的庫與
  • 1566 重复至少 K 次且长度为 M 的模式(模拟)

    1 问题描述 给你一个正整数数组 arr 请你找出一个长度为 m 且在数组中至少重复 k 次的模式 模式 是由一个或多个值组成的子数组 连续的子序列 连续 重复多次但 不重叠 模式由其长度和重复次数定义 如果数组中存在至少重复 k 次且长度
  • 微信小程序的事件绑定、接收参数、示例

    1 微信小程序的事件类别 tap 点击事件 input 输入事件 longtap 长按事件 touchstart 触摸开始 touchend 触摸结束 touchcansce 取消触摸 注1 小程序中请求处理方法是不能传递参数 正确方式 通
  • node js 文件,文件夹,文件流操作

    引入模块 const fs require fs const path require path 读取文件 同步读取 var data fs readFileSync read txt utf 8 console log 同步读取 data
  • LogisticRegression - 参数说明

    LogisticRegression 逻辑回归参数详细说明 参数说明如下 penalty 惩罚项 str类型 可选参数为l1和l2 默认为l2 用于指定惩罚项中使用的规范 newton cg sag和lbfgs求解算法只支持L2规范 L1G
  • SCAU 18724 二叉树的遍历运算

    18724 二叉树的遍历运算 Description 二叉树的三种遍历都可以通过递归实现 如果我们知道一棵二叉树的先序和中序序列 可以用递归的方法求后序遍历序列 输入格式 两行 第一行一个字符串 表示树的先序遍历 第二行一个字符串 表示树的
  • PC机(笔记本)安装Linux系统

    五年前买的联想ThinkPad E531 配置非常低非常低 实在是卡的不行 做个word都想砸了它的冲动 最近想开始学习Linux 发现好多建议初学者在Windows下装虚拟机 这样虽好 但感觉好麻烦 简单粗暴点 直接装个Linux系统 1
  • 管理端-角色设置

    本文是关于无纸化会议系统管理端角色设置的操作 本界面使用html css js进行开发 使用Vue框架和ElementUI进行辅助开发 管理员上传完文件之后 进入到角色设置界面 角色设置界面主要是给参加会议的每个角色设置文件权限以及分配会议
  • 人工智能环境搭建

    前言 2016年 人工智能自AlphaGo战胜世界著名围棋九段选手李世石后大火 人类首次感受到人工智能的强大和前所未有的危机 各大IT企业纷纷布局人工智能 准备开启新一轮的产业革命 本文就来讲一讲人工智能开发环境的搭建 即Ubuntu的Li
  • Object.hasOwn 低版本浏览器兼容性问题解决

    使用 hasOwn 去测试属性是否存在 报错如下 原因 hasOwn是es2022新语法 旧浏览器不支持 解决方案 使用Object hasOwnProperty 代替 Object prototype hasOwnProperty cal
  • 随机森林算法

    转载自 http www zilhua com 629 html 1 随机森林使用背景 1 1 随机森林定义 随机森林是一种比较新的机器学习模型 经典的机器学习模型是神经网络 有半个多世纪的历史了 神经网络预测精确 但是计算量很大 上世纪八
  • QGIS 加载WMS数据,重新投影

    1 加载WMS数据 点击需要的栅格数据 注意这里的投影是EPSG 3857 实际需要转换成WGS84 EPSG 4326 一个简单的方法 先在QGIS加载一个shp 投影方式为WGS84 再加载栅格数据 点击set project CRS
  • 告别尬聊,觅伊迎来Z世代青年的社交新世界

    什么是Z世代 从定义上看 Z世代泛指出生在1995年到2005年前后的人群 根据相关数据统计 目前我国 Z世代 年轻人多达2 64亿人 约占我国人口总数的19 因为基数较大 所以在许多从业者的眼中 Z世代作为未来互联网的主力人群 是所有产品
  • docker-swarm ui shipyard部署

    shipyard 搭建 参考网址 https shipyard project com docs deploy https juejin im entry 588940fc2f301e0069b2397d 下载shipyard相关的镜像 为
  • OpenGL学习笔记三(编译着色器)

    运行着色器程序 ps 大部分出自 LearnOpenGL 上一篇 OpenGL学习笔记二 着色器 说到什么是着色器 如何写着色器 这次我们要开始运行我们写好的着色器代码了 着色器程序的创建与C C 程序的创建相似 首先你需要编写着色器程序文
  • C++的宏观与微观

    宏观世界是由微观世界所组成 这是亘古不变的道理 C 同样是这样 如果说生物是由原子组成的 那么C 就是由对象模型组成的 对象模型就相当于原子模型 对象模型的变化和互相联系形成了目前C 一切的特性 再说C 宏观 C 的宏观表现为面向对象 由此