如果我有一堂课,说,
class Car {
public:
void Drive();
void DisplayMileage() const;
};
我基于这个类创建了一个共享指针,
typedef boost::shared_ptr<Car> CarPtr;
然后我继续填充 CarPtrs 的向量,
std::vector<CarPtrs> cars...;
我现在想遍历向量并做一些事情:
for(auto const &car : cars) {
car->DisplayMileage(); // I want this to be okay
car->Drive(); // I want the compilation to fail here because Drive isn't const.
}
如果不将指向汽车的共享指针转换为指向 const car 的共享指针,这是否可能?