订阅对const的引用

tec*_*age 5 c++ const reference

我在这里看一些C++代码并且不理解某些东西.这是无关紧要的,但它来自YARP(机器人中间件)教程,它附带文档.

virtual void getHeader(const Bytes& header) 
{
  const char *target = "HUMANITY";
  for (int i=0; i<8 && i<header.length(); i++) 
  {
    header.get()[i] = target[i]; 
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,header是对const的引用,因此无法在此函数中进行修改.get被称为它的原型是char *get() const;.如何header.get()下标和修改?该程序编译良好.我可能还没有理解这里发生了什么,但我基于我在C++ Primer中读到的内容......

我非常感谢一点澄清!

祝你今天愉快,

Pet*_*ker 0

设计接口的人决定const Byte可以通过向对象中填充值来修改对象的内容。想必他们已经做了任何需要进行header.get()[i]修改的修改。我不会使用这段代码作为良好界面设计的范例。