读书人

为什么数据要封装呢?还有const的疑问

发布时间: 2012-05-22 18:18:54 作者: rapoo

为什么数据要封装呢?还有const的疑问。。。
为什么要封装呢?仅仅是出于安全的考虑?const除了不小心改修的意外原因外,还有哪些原因呢?硬件也能不经意间修改数据,而const修饰符是如何做到让数据只读的?

[解决办法]
有谁规定必须要封装了?
按需要来决定用什么样的方式写代码。
封装是面向对象的编程思想,就是让代码更容易维护一些,还有一些特性要具体了解。
const只是说这个变量,或者这段内存你最好不好修改。
并不是所有的const变量都不能修改。
部分变量可以通过强制转换来修改。
[解决办法]
顺便问一下,LZ是否在C++的编译环境下写C的代码?
代码似乎和硬件要打些交到?
[解决办法]
const 一般用来做一些限制性的作用,封装是出于重用性来考虑, 对于别人开发的程序 你不需要过多的专注于其具体的实现过程,你只需要知道他能完成什么工作就行了。。。这就是封装的好处之一了。。
[解决办法]
封装是从面向对象的编程思想来的。const是为了保持这个数据不被修改
[解决办法]
const可用作编译器优化,绝对只读那是不可能的,通过内存线性地址你想怎么访问就怎么访问~
[解决办法]
封装无非是在编译阶段就避免一些逻辑上的错误问题,还有使处理过程更符合人类的思维习惯,容易维护~
[解决办法]
封装是在软件工程的角度上需求的,可以便于管理,,

而const是在编译器级别保证的,一般来说硬件是不会修改这些数据的,至于字符串文字量,或者其他的一些常量,编译器可以放在只读段里,这里的只读可以由OS来保证
[解决办法]
封装和const都是为了减轻编程者的设计负担
封装使你只需要考虑你所设计的当前模块,const使你不需要设计该变量被修改的情形

如果楼主你的智商在200以上,你可以既不用封装也不用const
[解决办法]
不封装也不要紧,可以通过命名上的一些规则达到同样的效果,只是没有强制性。比如私有成员和方法以下划线开头,类成员和方法全大写,等等。
[解决办法]
在嵌入式系统中,const就是个屁,一用不管

[解决办法]
volatile也是由编译器保证不把变量优化入寄存器而已,,没别的。,全部由内存读取

读书人网 >C++

热点推荐