代码之家  ›  专栏  ›  技术社区  ›  Robert Durgin

静态函数与常量函数

  •  16
  • Robert Durgin  · 技术社区  · 7 年前

    int funct(int x) const; 
    

    我想知道

    static int funct(int x); 
    

    会更好。

    2 回复  |  直到 5 年前
        1
  •  27
  •   Uri    16 年前

    假设这是C++,声明为const的函数表示它不打算改变它所调用的实例上的数据成员,也就是说,这个指针。既然有办法逃避,那就不是一种保证,只是一种声明。

    静态函数不在特定实例上操作,因此不采用“this”指针。因此,它是“const”在一个非常天真的方式。

    如果您的方法不需要绑定到特定实例,那么将其设置为静态是有意义的。

        2
  •  9
  •   Richard    16 年前

    如果一个成员函数不使用任何成员变量,通常值得问一个问题:

    推荐文章