由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个Quant Developer的C++面试题
相关主题
请问C++ exception后如何清理function stack上的内存资源?说到cpp11 和 围棋的对比
C++ 的 exception handlingC++含有指针成员的类
真是痛恨喜欢 throw 的猪一道很奇怪的面试题
C++的很多library到底是趋于集中,还是各个公司独自开发,各立山头[菜鸟问题]类模板问题
C++的smart pointer注定是个二流的东西几个问题
不如各位高手挑个专题讲讲C++11吧有大侠讲讲RTTI和exception的问题么?
琢磨了一下c++ smart pointer,发现不能到处用请教这个程序里用到了什么constructor啊?有几个copy constructor?
什么时候使用c++ smart pointer?spring di的project
相关话题的讨论汇总
话题: myclass话题: done话题: callback话题: c++话题: developer
进入Programming版参与讨论
1 (共1页)
N****M
发帖数: 158
1
大银行面试题,各位高手求解。
Creating 一个 object to which 一个 callback function is passed, 使得当这个
object is destroyed时, the callback is executed。
f*****e
发帖数: 2992
2
constructor里放函数指针,destructor里调用函数。

【在 N****M 的大作中提到】
: 大银行面试题,各位高手求解。
: Creating 一个 object to which 一个 callback function is passed, 使得当这个
: object is destroyed时, the callback is executed。

b*******s
发帖数: 5216
3
就在析构器里面调用callback的指针咯

【在 N****M 的大作中提到】
: 大银行面试题,各位高手求解。
: Creating 一个 object to which 一个 callback function is passed, 使得当这个
: object is destroyed时, the callback is executed。

N****M
发帖数: 158
4
能不能给个完整一点结果啊,面试要求当时就写出完整的code。

【在 b*******s 的大作中提到】
: 就在析构器里面调用callback的指针咯
h*******s
发帖数: 8454
5
like this?
class MyClass {
public:
MyClass(Callback* cb)
: done(cb) {}
~MyClass() {
done->Gogogo();
}
private:
Callback* done;
};

【在 N****M 的大作中提到】
: 能不能给个完整一点结果啊,面试要求当时就写出完整的code。
b*******s
发帖数: 5216
6
不用传对象指针,一个函数指针就可以了
另外使用前先检查指针有效性,否则在析构器里面扔出异常要被骂的

【在 h*******s 的大作中提到】
: like this?
: class MyClass {
: public:
: MyClass(Callback* cb)
: : done(cb) {}
: ~MyClass() {
: done->Gogogo();
: }
: private:
: Callback* done;

R********n
发帖数: 519
7
哪个bank呢?银行一般只看到developer,很少看到quant developer?

【在 N****M 的大作中提到】
: 大银行面试题,各位高手求解。
: Creating 一个 object to which 一个 callback function is passed, 使得当这个
: object is destroyed时, the callback is executed。

h*******s
发帖数: 8454
8
errr, 又忘了检查指针了...

【在 b*******s 的大作中提到】
: 不用传对象指针,一个函数指针就可以了
: 另外使用前先检查指针有效性,否则在析构器里面扔出异常要被骂的

h*****f
发帖数: 248
9
I think the question is testing whether the candidate knows:
- how to declare and store function pointer
- the raii pattern (since this design is a variant of it)
- about the problem of throwing exception in destructor as brainless poitned
out.
class MyClass {
public:
MyClass(void (*cb)()) : done(cb) {}
~MyClass() {
if (done) {
try {
(*done)();
}
catch (...) {
// choice of exit, log, throw an alert to somewhere in the
system, or ignore
}
}
}
private:
void (*done)();
};
h*******s
发帖数: 8454
10
能解释一下跟raii是怎么联系上的么?

poitned

【在 h*****f 的大作中提到】
: I think the question is testing whether the candidate knows:
: - how to declare and store function pointer
: - the raii pattern (since this design is a variant of it)
: - about the problem of throwing exception in destructor as brainless poitned
: out.
: class MyClass {
: public:
: MyClass(void (*cb)()) : done(cb) {}
: ~MyClass() {
: if (done) {

h*****f
发帖数: 248
11
I just feel that the similar pattern is used:
- something is memorized in the constructor: resource vs function pointer
here
- the memorized thing (resource vs function pointer) is semi-automatically
used in destructor -- RAII and this question both use the fact that C++
object's destructor will be called when it is destroyed.
N****M
发帖数: 158
12
这个construction function 后面加冒号是什么意思啊,正在学习中,不知道叫什么名
字,查也查不到。
MyClass(void (*cb)()) : done(cb) {}

poitned

【在 h*****f 的大作中提到】
: I think the question is testing whether the candidate knows:
: - how to declare and store function pointer
: - the raii pattern (since this design is a variant of it)
: - about the problem of throwing exception in destructor as brainless poitned
: out.
: class MyClass {
: public:
: MyClass(void (*cb)()) : done(cb) {}
: ~MyClass() {
: if (done) {

f*****e
发帖数: 2992
13
不会的话就找个你会的行业不就行了吗。

【在 N****M 的大作中提到】
: 这个construction function 后面加冒号是什么意思啊,正在学习中,不知道叫什么名
: 字,查也查不到。
: MyClass(void (*cb)()) : done(cb) {}
:
: poitned

h*****f
发帖数: 248
14
It is called initialization list.
Google for it. It is very useful to learn it :)

【在 N****M 的大作中提到】
: 这个construction function 后面加冒号是什么意思啊,正在学习中,不知道叫什么名
: 字,查也查不到。
: MyClass(void (*cb)()) : done(cb) {}
:
: poitned

1 (共1页)
进入Programming版参与讨论
相关主题
spring di的projectC++的smart pointer注定是个二流的东西
请教个Bloomberg 的 C++ 题目不如各位高手挑个专题讲讲C++11吧
[C++] when destructors get called琢磨了一下c++ smart pointer,发现不能到处用
【C++】请问这样有没有memory leak?多谢什么时候使用c++ smart pointer?
请问C++ exception后如何清理function stack上的内存资源?说到cpp11 和 围棋的对比
C++ 的 exception handlingC++含有指针成员的类
真是痛恨喜欢 throw 的猪一道很奇怪的面试题
C++的很多library到底是趋于集中,还是各个公司独自开发,各立山头[菜鸟问题]类模板问题
相关话题的讨论汇总
话题: myclass话题: done话题: callback话题: c++话题: developer