0%

C++ 与 哲学

以下只是我个人对C++语言的一些理解,只是为了更好地学习和使用C++,如有描述不当处,还请指出。

前言

很多的科幻大片中都有虚拟世界的存在,好比是现实世界的映射或是更近一步的提升,如黑客帝国中的matrix,又如神盾局特工中的framework,等等。

而这些虚拟世界无一不是建立在一行一行代码的基础上的。

C++作为一门面向对象的语言,是为了更好地描述这个世界,从而能够打造出与现实世界几乎相同的世界,甚至是超越现实的世界。

而要描述一个世界则离不开哲学。

世界的基本组成

在这里,我们认为现实世界由三种最基本的事物构成的,即:物质、能量和信息

而在虚拟世界中,一切的物质和能量都是由现实世界所提供的。真正存在于虚拟世界中的是信息。

世界到C++的映射

物质 == 数据类型

基本的

夸克、电子、场…… == int、short、char、char、long、unsigned、double、float、bool……

扩展的

各种各样的元素 == struct

其它的

  • 变量 == 载体
  • 常量 == 限定的变量(const)
  • #define(字符替换)

信息 == 函数

函数使得各种类型的数据有序地进行交互。

能量

能量从外界摄取,就像是点下了运行的按钮。

对象实例与抽象类

现实世界中的信息和物质影射到C++语言中变为函数和变量。

而在C++语言中:

  • 具体事物 == 对象实例
  • 一类事物 == 抽象类

其他

每个人对同一事物的类的定义可能有所不同,因为一方面每个人的收敛思维和抽象能力不同,从而导致抽象的层次不同;另一方面,在不同的应用场景之下,抽象层次也不尽相同。

所以,对对象实例的抽象,即抽象类的形成应该视具体情况而定。

Thank you for your reward !