什么是非正常

来源:互联网 发布:linux yum怎么读 编辑:程序博客网 时间:2024/04/27 18:56

2.4 什么是非正常

   【C库的局限】

     . 名字空间问题, 因为使用同一个名字空间, 不同的库必须使用不同的全局变量, 函数名称. 这样对于开发很难协调.
   

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.5 基本对象

   【名字空间问题的解决】

     . 新的::运算符解决了名字空间共享的问题, 是的名字空间有了层次和范围
     . 不同的模块都拥有自己的独立名字空间

〖个人理解〗

  结构就是一个所有成员都是public的类, 这一点在COM的接口interface的定义里面就是如此, 因为这样可以减少public存储类型关键字可能导致的误解. 而且对于结构特别有意义就是构造和析构函数. 因为我们知道一些链表进行清空的时候需要释放内存, 对于嵌套层次复杂的就需要手工遍历进行释放, 现在简单了, 你只要删除链表指针就会自动触发内部的析构函数. 有关这点在VC + BoundsCheck里面已经证明是线程安全的了.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.6 什么是对象

    【C 的结构】
     
      . 结构是数据的凝聚, 将数据捆绑在一起, 仅此而已
   
    【C++ 的结构到对象的演变】

      . 结构提升到一个对象就既能描述属性, 又能够描述行为
      . 对象是一个独立的有约束的实体, 有自己的记忆和活动

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.7 抽象数据类型

    【封装】

      . 将数据连同函数捆绑在一起, 允许创建新的类型
      . 封装允许数据和自己的操作封装, 形成一个拥有自己的属性和行为
      . 抽象数据类型将我们从问题空间把概念抽象到解空间
      . C++ 对于抽象数据类型的类型检查就像对于内建类型检查一样严格
      . 调用对象的方法被称之为"向对象发送消息"

〖个人理解〗

  "对象驱动"有时候又称之为"事件驱动"或者"消息驱动". 这就将对象应用从过去的过程应用的一个闭环变成一个相对设计静态无法控制的限制的一个动态的系统.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.8 对象细节

    【结构之争】

      . 传统C是一个面向过程和效率的低层语言
      . 结构在C/C++编译的结构代码一致, 保证了其效率性
      . 结构的大小就是所有数据成员大小
      . 编译器有时候会从效率考虑附加捆绑额外字节

〖个人理解〗

   对象说白了就是用户定义的数据结构, 区别在于拥有自己的属性和行为. 这和传统的结构不同. 而关键字class和struct的不同就是一个默认成员public, 另一个默认private.

原创粉丝点击