25/05/08 - Dimension 5 - 笔试

南京维伍网络科技有限公司, 1 小时笔试。

1. 代码检查:是否内存泄漏,原因

#include  
class Test { 
public:
Test() {} 
~Test() {} 
};

void processed(std::shared_ptr& ptr) 
{
std::shared_ptr& localPtr = ptr; // some operations... 
}

int main() 
{
std::shared_ptr ptr1(new Test()); 
std::shared_ptr ptr2 = ptr1; 
process(ptr1);
return 0;
 }

2. list、set、vector 的迭代器?区别?

迭代器是不是能随机访问?显然 list 不能,vector 的可以

还有一些其他的问题

3. dynamic_cast static_cast

A 转换为 B 的两种方法,编译是否报错

具体代码忘记了,下面是后面问 AI 重写的

#include
using namespace std;
class Base { public: // ... }; 
class Derived : public Base { public: // ... }; 
int main()
{
Base* basePtr = new Derived(); 
Derived* derivedPtr1 = static_cast(basePtr); // static_cast,假设转换正确
Derived* derivedPtr2 = dynamic_cast(basePtr); // dynamic_cast,运行时检查
return 0;
 } 

4. 64位机器上,一个结构体占用几个字节

struct a
{
int a1;
char a2;
char a3;
int a4;
virtual void func1();
virtual void func2();
}

5. LeetCode 206.反转链表
6. LeetCode 1041.困于环中的机器人
全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务