网易电面试题

这篇博客详细探讨了网易电面试题,涵盖了C++中的const指针、new与malloc的区别、i++与++i的实现及效率、多态机制、const成员函数、指针与引用、深拷贝与浅拷贝、STL容器特性、struct与class的不同、链表环检查、智能指针以及在大规模游戏场景中如何设计射击命中系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回忆网易电面,主要是c++基础语言,数据结构,设计题

1. const int * ,const * int ,int * const区别;

前面两个是指向的值不能修改,后面一个不能再指向另一个新地址。

2. new  malloc

http://www.cnblogs.com/growup/archive/2011/06/27/2091101.html


3. i++ ,++i区别,哪个效率更高,和怎么实现的?

more effective c++上的讲的很详细,一般++i效率更高,实现是重载了++操作符
    Num & operator++();  //前缀自加
    const Num operator ++(int);   //后缀自加
    Num & operator --();    //前缀返回引用
    const Num operator --(int);    //后缀返回形参

4. 多态实现机制,virtual和inline


5. const成员函数,函数重载


6. 指针和引用

      不能使用指向空值的引用,引用要被初始化
      指针可以被重新赋值指向另一个对象,

7. 深拷贝和浅拷贝


8. STL  map,vector,红黑树

   红黑树5大性质(口诀):非红即黑,根黑,null黑,父红子黑,殊路同黑。旋转啥的,很麻烦,说不出来
   --vector能自动扩容,但能自动缩小吗?
       不能,但是能通过swap实现,std::vector<String>(v).swap(v);
        创建了一个临时变量代替那个命名的,然后使用swap(),这样我们就去掉了不必要的空间,得到实际大小的v。



9. struct class区别


10. 链表判断是否有环,两个链表是否交叉

   判环:2个指针追赶,
   2链表是否交叉(都无环):都遍历一遍,看最后的尾节点是否指向同一位置
                     遍历a链表,计数,再遍历b,计数,看最后的数量
                     将a的最后一节点的next指向b的头,再判断是否有环
   2链表是否交叉(有环)。。。

11. 项目简介


12. 智能指针


13. 游戏中,怎么设计一把枪打怪兽,怎么判断是否命中,如果有成千上万怪兽,怎么设计命中哪一个?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值