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中读到的内容......
我非常感谢一点澄清!
祝你今天愉快,
设计接口的人决定const Byte可以通过向对象中填充值来修改对象的内容。想必他们已经做了任何需要进行header.get()[i]修改的修改。我不会使用这段代码作为良好界面设计的范例。