[英]static functions constant static member functions
我想问一个简单的问题
例如,在我的私有成员中,我已声明为静态成员。
static int id;
并且在公共场合,我已经使用吸气功能获得了这个ID
static int getID() const;
编译器给我一个错误,但是当我不使用const时,它没有给出任何错误,因为这只是吸气,它应该是常量,请告诉我原因。
这是一个不能为const
的static
函数,因为它不适用于任何特定的类实例。 这意味着该函数没有指向任何特定实例的this
指针(作为隐藏参数隐式传递)。 你应该写
static int id;
static int getID();
也可以使此函数为非static
int getID() const;
但是,只要不需要访问特定对象的表示形式,此类函数通常应该是静态的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.