为什么在很多函数的参数中都有const常量定义,不用const不是也可以吗,能否详细的说说其区别!
void CIDse::Pponse(CDriver *pDriver, const CByteArray &buffer)
{
................
}

解决方案 »

  1.   

    用了const后,可以保证在函数中不会被修改。
      

  2.   

    void CIDse::Pponse(CDriver *pDriver, const CByteArray &buffer)
    用const是来限制该函数内部不要修改指定参数的值。一般情况下,我们在传递大数据时(比如结构),参数类型会使用指针或者引用。然而传递指针和引用的潜在危险是,函数内部可能会修改该指针或者引用的数据,在某些情况下,这是我们不希望看到的,这是就需要加const,明确这个参数是不允许修改的。当然,有时我们用指针或者引用来作为返回值,这时当然不要加const了。