r***u 发帖数: 241 | 1 很久没碰C++了,有一些没答好,但还是拿到了onsite
我记得的问题有:
1. struct 和 class的区别
2. 什么是partially specialized template
3. 如果一个程序在main函数执行前就crash了,是什么原因
4. 如何防止一个类被拷贝
5. 能不能直接调用析构函数
6. 什么是virtual function,效率如何,调用一次发生几次indirection
7. 32位机,一个类定义一个整数,一个虚函数,sizeof是多少。
另一个类定义一个整数,两个虚函数,sizeof是多少。
8. 能不能在constructor里面调用虚函数 |
t*******y 发帖数: 637 | 2 第8题答案是能还是不能?
是不是应该回答能但是无法实现Polymorphism啊?
【在 r***u 的大作中提到】 : 很久没碰C++了,有一些没答好,但还是拿到了onsite : 我记得的问题有: : 1. struct 和 class的区别 : 2. 什么是partially specialized template : 3. 如果一个程序在main函数执行前就crash了,是什么原因 : 4. 如何防止一个类被拷贝 : 5. 能不能直接调用析构函数 : 6. 什么是virtual function,效率如何,调用一次发生几次indirection : 7. 32位机,一个类定义一个整数,一个虚函数,sizeof是多少。 : 另一个类定义一个整数,两个虚函数,sizeof是多少。
|
y*******o 发帖数: 6632 | 3 1. struct 和 class的区别
class default private, struct default public, nothing more
2. 什么是partially specialized template
3. 如果一个程序在main函数执行前就crash了,是什么原因
4. 如何防止一个类被拷贝
private assignment operator, private copy constructor
5. 能不能直接调用析构函数
yes
6. 什么是virtual function,效率如何,调用一次发生几次indirection
1 ?
7. 32位机,一个类定义一个整数,一个虚函数,sizeof是多少。
8
另一个类定义一个整数,两个虚函数,sizeof是多少
12
8. 能不能在constructor里面调用虚函数
never ever do it, according to effective c++
【在 r***u 的大作中提到】 : 很久没碰C++了,有一些没答好,但还是拿到了onsite : 我记得的问题有: : 1. struct 和 class的区别 : 2. 什么是partially specialized template : 3. 如果一个程序在main函数执行前就crash了,是什么原因 : 4. 如何防止一个类被拷贝 : 5. 能不能直接调用析构函数 : 6. 什么是virtual function,效率如何,调用一次发生几次indirection : 7. 32位机,一个类定义一个整数,一个虚函数,sizeof是多少。 : 另一个类定义一个整数,两个虚函数,sizeof是多少。
|
r***u 发帖数: 241 | 4
应该是2次,先从vptr查表,再调用表中存的函数指针
都是8
【在 y*******o 的大作中提到】 : 1. struct 和 class的区别 : class default private, struct default public, nothing more : 2. 什么是partially specialized template : 3. 如果一个程序在main函数执行前就crash了,是什么原因 : 4. 如何防止一个类被拷贝 : private assignment operator, private copy constructor : 5. 能不能直接调用析构函数 : yes : 6. 什么是virtual function,效率如何,调用一次发生几次indirection : 1 ?
|
s*****n 发帖数: 5488 | 5 有点深度聊。好多都网聊。
4应该是declare但是不定义吧。
【在 y*******o 的大作中提到】 : 1. struct 和 class的区别 : class default private, struct default public, nothing more : 2. 什么是partially specialized template : 3. 如果一个程序在main函数执行前就crash了,是什么原因 : 4. 如何防止一个类被拷贝 : private assignment operator, private copy constructor : 5. 能不能直接调用析构函数 : yes : 6. 什么是virtual function,效率如何,调用一次发生几次indirection : 1 ?
|
f*******4 发帖数: 1401 | 6 同意
2,3题怎么答?
【在 r***u 的大作中提到】 : : 应该是2次,先从vptr查表,再调用表中存的函数指针 : 都是8
|
y*******o 发帖数: 6632 | 7 2 times is correct,
3. some static object initialization
【在 f*******4 的大作中提到】 : 同意 : 2,3题怎么答?
|
r***u 发帖数: 241 | 8
global object
【在 y*******o 的大作中提到】 : 2 times is correct, : 3. some static object initialization
|
x****k 发帖数: 2932 | 9 A general template:
template struct X
{ void f() { cout << "Primary template" << endl; } };
Partial specialized template(only for template class and struct, not for
funtion)
template struct X
{ void f() { cout << "Partial specialization 1" << endl;
} }; |