我经常与这个问题斗争,找不到任何明确的解决方案.我想我知道getter/setter的动机.
先前信息:
在实现真实数据时,通常将数据封装在多个层中.例如:
Run Code Online (Sandbox Code Playgroud)// 1st stage data types ------------------------------ struct Cartesian { int32_t x; int32_t y; int32_t z; } struct GeoLocation { double_t latitude; double_t longitude; int32_t altitude; } // 2nd stage data types ------------------------------ struct Drone { Cartesian baseOffset; // m Cartesian velocity; // m/s } struct Plane { GeoLocation location; // semicircle Cartesian velocity; // knots } // 3rd stage data types ------------------------------ struct Swarm { Plane base; Drone member[10]; }
在C++中,我使用类而不是结构(因为为什么不呢?).当Swarm[3].member[8].velocity.x通过某个通信信道接收到有关数据时,就会出现问题.意识到系统中可以有多个群.
需求:
根据MISRA C++规则,函数不能将非const引用返回给任何类成员,因为如果没有该类的权限/知识,则不应更改该成员.
题: …