繁体   English   中英

静态函数常量静态成员函数

[英]static functions constant static member functions

我想问一个简单的问题

例如,在我的私有成员中,我已声明为静态成员。

static int id;

并且在公共场合,我已经使用吸气功能获得了这个ID

static int getID() const;

编译器给我一个错误,但是当我不使用const时,它没有给出任何错误,因为这只是吸气,它应该是常量,请告诉我原因。

这是一个不能为conststatic函数,因为它不适用于任何特定的类实例。 这意味着该函数没有指向任何特定实例的this指针(作为隐藏参数隐式传递)。 你应该写

static int id;
static int getID();

也可以使此函数为非static

int getID() const;

但是,只要不需要访问特定对象的表示形式,此类函数通常应该是静态的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM