У меня есть поле static const std::vector<SomeType>
в моем классе. У меня есть два метода private
, которые используют это поле (методы поиска). Они не используют других членов моего класса. Должны ли они определяться как static
или обычные методы?статический метод или нестатический метод с использованием статического поля
Что мне делать? Каковы преимущества/недостатки?
Часть, начинающаяся с 'потому что' является * non sequitur *. Можно ли переопределить статические методы, не имеет никакого отношения к тому, можно ли их вызвать из виртуальных методов. – EJP
@EJP Я не говорил, что статические функции-члены нельзя переопределить, все, что я говорю, состоит в том, что статические функции-члены не могут переопределять виртуальные функции из базового класса. Другими словами, если вы пишете функцию в качестве переопределения для виртуальной функции базового класса, вам нужно сделать ее нестатической, даже если она обращается к только статическим членам. – dasblinkenlight