Я смотрел на парсер запросов из примера boost :: asio, и мне было интересно, почему закрытые функции-члены, такие как is_char ()
являются статичными
? :
class request_parser
{
...
private:
static bool is_char(int c);
...
};
Он используется в функции потребления , которая не является статической функцией:
boost::tribool request_parser::consume(request& req, char input)
{
switch (state_)
{
case method_start:
if (!is_char(input) || is_ctl(input) || is_tspecial(input))
{
return false;
}
...
Только функции-члены могут вызывать is_char ()
, и никакая статическая функция-член не вызывает is_char ()
. Так почему же эти функции статичны?