到了Pascal和C语言中,数据和代码之间的关系就模糊了。 ========================================= 呵呵,Pascal是我的第一门语言,C也用了这么多年了,怎么就没觉得它们数据和代码之间关系模糊啊?不理解。 有了重入功能,操作系统就很好设计了,就能实现多任务。 ========================================= 这种说法真的还是第一次听说。只要慎用全局变量,那么一个函数的可重入性还是比较容易做到的啊。操作系统的某些部分确实需要重入功能,但是单独拔高重入的重要性以前确实是没见过:-)另外,多任务实现的基础恐怕不是什么重入功能吧? C++是这样一种工作方式,即把数据和对其操作的代码进行捆绑。这样就可以和结构一样,进行内存的分配和使用。在C++中,函数内部用动态的可重入的变量,而C++又是工作在自己独立的数据区和代码区。 ========================================= C++的数据和相应的操作(方法)其实不在一个地方,至少VC生成的代码是这样,在下面我写了几个小程序,大家可以跑跑,自然就会得出自己的结论了。 另外,C++函数中内部用动态的可重入变量很正常啊,C也是这样啊。至于说C++又是工作在自己独立的数据区和代码区就让人困惑了,搞不清楚作者想要告诉我们些什么。 其实,一个C++ class如果只有public成员变量而没有方法的话,那么它和一个struct其实没什么不同,即使有了普通的方法,C++ class的内存表示还是没有变化,只不过编译器会另找一个地方存放方法代码本身。下面两个class: class A class B |
正在阅读:《编程高手箴言》读后(4)《编程高手箴言》读后(4)
2004-04-08 14:39
出处:CSDN
责任编辑:sdq
键盘也能翻页,试试“← →”键