- 新增C++常见面经整理
-
- C++ vector pop_back()后减容吗?
不减容,vector的内存占用空间只增不减,且调用clear() erase()后只是减少了size(),清除了数据,并不会减少capacity()
有哪些减容方法?与空vec交换:vector< T >().swap(x); C++11后调用shrink_to_fit()操作自动缩容,使得capacity() == size()
- 什么时候按引用传递不会节省空间?
值传递的数据内存空间小于等于指针时。感觉这算是脑筋急转弯,来自牛客分享。
- 类模板派生方式
- 类模板从类模板派生,基类是一个模板;
- 类模板从模板类派生,基类是一个模板实例化的类;
- 类模板从普通类派生,基类是一个非模板实例化的普通类;
- 普通类从模板类派生,基类是一个模板实例化的类;
- 类模板与友元函数/友元类
- 函数、普通类、类的成员函数均可以作为类模板的友元;
- 函数模板可以作为类模板的友元;
- 函数模板可以作为普通类的友元;
- 类模板可以作为类模板的友元;
- 模板元编程的几种特性:
- 特性(traits):特性对类型的信息(如 value_type、 reference)进行包装,使得上层代码可以以统一的接口访问这些信息,是一种提供元信息的手段。
- 策略(policy):一般是一个类模板,典型的策略是 STL 容器的分配器,策略类将模板的经常变化的子功能块集中起来作为模板参数,这样模板可以更为通用,与特性的思想类似。
- 标签(tag):一般是一个空类,其作用是作为一个独一无二的类型名字用于标记一些东西,例如是 STL 迭代器的五种类型的名字。
- 类型过滤:对任意模板的实例将其替换为指定模板参数的代表实例。
- 一门人机交互(HCI)方向的课,更强调游戏设计、元素理念,游戏实现的部分较少,只需要简单写个u3d demo。
- Coursework 1:分析某个游戏的特性、设计、体验和结构,选了彩六,报告还没写完。
- 第二次实验课是汇编,有点难,还没太看明白,作业迟交了。
- 早10,面试官迟到10分钟,聊了10分钟说休息下先看会我的简历,结果1h过去了打电话说忙忘通知,下午约了第二天下午1.30。
- 不知道是制作人面,第一天晚上准备了好久技术知识,没用到。
- 只问了工作压力看法、未来规划、学习方法,想主要通过我的提问来考察。
- 反问:
- 当初进多益应该选u3d新项目还是cocos核心老项目;
- 应该更关注C++原生并发实现(thread,signal)还是ue异步实现(AsyncTask)?然后才知道是制作人面非技术出身;
- 实习能接触到核心开发吗?能,而且会尽快接触核心开发;
- 未来走哪条路好,技术专家、技术策划、管理?选喜欢且擅长的,技术专家下限高;
- 是不是要多平台?是;
- 腾讯对校招(转正)社招要求。
- 面完光速进了hr面,这一面感觉回答的还行,希望不要面完制作人再排序(不然每个岗位多个候选人,制作人不用上班了)