登录社区云,与社区用户共同成长
邀请您加入社区
编译时反射是C++模板元编程中的一项高级技术,它允许程序在编译期间获取和操作类型信息。与运行时的反射机制不同,编译时反射完全在编译阶段由编译器处理,不会产生任何运行时开销。这种技术主要依赖于模板特化、SFINAE(Substitution Failure Is Not An Error)、constexpr函数以及C++17引入的constexpr if等特性来实现类型的自省和操作。
现代C++通过引入智能指针(如std::unique_ptr, std::shared_ptr, std::weak_ptr)极大地简化了内存管理,旨在自动处理资源的释放,从而避免内存泄漏。正确的做法是始终使用std::make_shared(或std::make_unique)来创建智能指针,避免直接与原始指针混用。将同一个原始指针交给多个std::unique_ptr管理,或错误地使用std:
后来翻源码才发现,得先用IPhysicalWorld::CreatePhysicalEntity()注册特殊标记,再通过SetPhysicsProperties()的FLAG_IGNORE_TIMESTEP参数绕过默认的时序控制。后来学乖了,所有继承CEntity的类都得配上自定义的引用计数器,特别是那些带物理组件的实体,得手动管理PhysX对象的生命周期。记得最折腾的是实现冰面折射效果,不仅要继