面试真题

C++ · 中等 · 腾讯

const与static关键字的用法,与this指针的关系

中等 C++ 🎤 腾讯
参考答案
结论:const修饰成员函数承诺不修改对象;static表示类级别共享,无this指针。要点:1.const用法:成员变量初始化后不可变;成员函数尾部加const,函数内不能改非static成员,此时this类型为const T*;参数const引用防修改。2.static用法:static成员变量属于类,所有实例共享,类内声明类外定义(const static整型可类内初始化);static成员函数无this指针,只能访问static成员,调用不需对象。3.与this关系:非static函数有this指针指向调用对象;const成员函数的this是const指针;static函数无this,因此不能声明为const也不能访问非static。4.示例:class A{ static int s; const int c=0; void f() const; static void g(); }; A::s=1; 调用g()无需对象。
题目整理自公开面经,答案由校招宝自研生成,仅供参考