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. 代码检查:是否内存泄漏,原因
#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.困于环中的机器人
全部评论
相关推荐
07-06 14:43
New York University Java 点赞 评论 收藏
分享