在?C++?中,函数名后面加上const?关键字表示该函数不会修改对象的成员变量(除非成员变量是mutable的)。这是一种良好的编程习惯,可以提高代码的安全性和可读性。
在这个例子中,internalWinId()?和?effectiveWinId()?都被声明为?const,这意味着它们不能修改调用它们的对象的状态。如果这些函数试图修改对象的状态,编译器将报错。
此外,由于这些函数没有修改对象的状态,因此它们可以在?const?对象上调用。
inline WId internalWinId() const { return data->winid; }
WId effectiveWinId() const;
?