在 C++ 11 之前,我经常需要实现一个方法的两个非常相似的变体来处理类/结构的 const 和非 const 使用场景:
struct my_struct_t{
....
float_t& at( uint32_t row, uint32_t col)
{
return *(((float_t*)((uint8_t*)numbers+row*row_stride)) + col);
}
float_t const& at( uint32_t row, uint32_t col) const
{
return *(((float_t*)((uint8_t*)numbers+row*row_stride)) + col);
}
};
这在 C++ 11 中是否发生了变化?