我正在查看 boost::asio 示例中的请求解析器,我想知道为什么私有成员函数是这样is_char()
的static
?:
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()
。那么这些函数是静态的有什么原因吗?