1.基础语法与语言特性

  1. C++ 中指针,引用,数组 的区别是什么?各自的使用场景?
    指针: 引用: 数组:指向第一个元素的指针
    可为空 必须绑定对象
    可随时指向其他对象 不能更换绑定对象
    使用*解引用 和普通变量一样使用
    手动管理生命周期 更加安全和简介

  2. 解释一下 virtual, override, finalconst的作用与用法。

  3. 什么是 RAII?它如何帮助资源管理?

  4. 请简述 std::movestd::forward 的区别及使用场景。

2. ⚙️ 性能与内存优化

1. 游戏中出现卡顿,你如何定位和优化问题?

  • 主线程阻塞(I/O,资源加载)
  • GC/内存碎片化
  • 大量对象更新
  • 不合理的Tick 顺序
  1. 如何实现一个内存池?适合用在哪些场景?
    内存池目的:减少频繁的new/delete的开销和碎片
    ·维护一个连续的大内存 数组
    ·维护一个空闲链表,链表将所有的对象链接起来,对象的内存位置在数组里
    · 分配时从链表中创建,内存位置在位于数组,释放时归还列表

  2. 请实现一个简单的对象池(Object Pool)模板类。

  3. 请说说 cache-friendly 编码风格的一些例子。