
类作用域
函数指针声明易错因语法优先级:int(p)()是指针,intp()是函数;须按“先看变量名,再往外读”理解,参数含const等限定符须完全匹配,无捕获lambda可隐式转换,调用前需判空。
C++头文件应加includeguard或#pragmaonce防重复包含,只声明类、函数、extern变量等接口,不放实现;const和inline内容可安全放入头文件;.cpp专注实现并精简包含。
名称隐藏指派生类同名成员完全屏蔽基类同名成员,无论参数、访问权限或类型差异;需用using声明显式引入基类成员以支持重载或恢复可见性。
C++继承通过public、protected、private控制基类成员在派生类中的访问级别:public继承保持原访问性,体现is-a;protected继承将public/protected降为...
::操作符不支持链式调用,因其仅用于静态成员访问、不返回对象、非函数调用且为编译期绑定;链式必须依赖->与返回$this的实例方法。
PHP中::只能访问static声明的成员,误用于实例属性或方法会触发Fatalerror;非静态成员必须通过对象实例调用;self编译时绑定,static运行时绑定支持后期静态绑定。
静态成员使类所有对象共享同一份数据或函数,不依赖实例即可访问,用于类级资源管理、状态跟踪和工具功能;静态数据成员属类本身,需类内声明、类外定义;静态成员函数无this指针,只能访问静态成员;类外sta...
PHP7+访问未定义类常量会触发无法捕获的Fatalerror;应使用ReflectionClass::hasConstant()安全判断,而非defined()或字符串拼接调用。
不能。PHP不允许在类外部通过作用域操作符::访问privatestatic属性,其访问范围仅限于定义它的类内部,子类和外部代码均不可见,且访问控制是运行时强制检查的。
::只能访问类内静态成员,无法访问全局变量,因它专用于类作用域的静态绑定;类中使用全局变量需用global声明或$GLOBALS数组。