Moke|墨客

 找回密码
 立即注册
搜索
查看: 7260|回复: 0

指针与C++的基本原理

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-9 15:28:31 | 显示全部楼层 |阅读模式



    很多新手程序员不会在意原理,但是作为一名程序员必须要知道原理。
面向对象编程与传统的过程性编程的区别在于,OOP强调的是在运行阶段(而不是编译阶段)进行决策。运行阶段指的是程序正在运行时,编译阶段指的是编译器将程序组合起来时。运行阶段决策就好比度假时。选择参观的那些景点取决于天气和心情;而编译阶段决策更像不管在什么条件下,都坚持预先设定的日程安排。
运行阶段决策提供了灵活性,可以根据当时的情况进行调整。例如,考虑为数组分配内存的情况。传统的方法是声明一个数组。要在C中声明数组,必须指定数组的长度。因此数组长度在程序编译时就设定好了;这就是编译阶段决策。读者可能认为,在80%的情况下,一个包含20个元素的数组足够了,但程序有时需要处理200个元素。为了安全起见,使用了一个包含200个元素的数组。这样,程序在大多数情况下都浪费了内存。OOP通过将这样的决策推迟到运行阶段进行,使程序更灵活。在程序运行后,可以告诉它只需要20个元素,而还可以下次告诉它需要205个元素。
总之,使用OOP时,程序员可能在运行阶段确定数组的长度。为使用这种方法,语言必须允许在程序运行时创建数组。稍后程序员会看到C采用的方法是,使用关键字new请求正确数量的内存以及使用指针来跟踪分配的内存的位置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 

 

快速回复 返回顶部 返回列表