avatar
s*0
1
请问现在iphone3G 8G 手机现在大概多少钱? 想买上几个,不太了解行情,请指教,
另外帮忙推荐神医,谢谢!
avatar
G*A
2
in-person interview
Interviewer: how to std::cout some sentences before main() function.
Me: blahblah... global variable ....blahblah
Interviewer: global variable is close, but how exactly ...?
Me: .....
avatar
l*o
3
我每次看着都觉得像山羊 哈哈
avatar
s*0
4
或者3G 16G, 3GS 16G

【在 s********0 的大作中提到】
: 请问现在iphone3G 8G 手机现在大概多少钱? 想买上几个,不太了解行情,请指教,
: 另外帮忙推荐神医,谢谢!

avatar
p*p
5
void fun() { cout << "aa" << endl; }
static void *a = fun();
类似这样?
avatar
t*g
6
好象是有点像特别是那撮胡子
avatar
A*i
7
没看懂啥意思
你可以呼叫好猫问问
avatar
F*k
8
我觉着像狼人变身
avatar
l*i
9
constructor of a global object will be called before main()
class Object {
public:
Object();
};
Object::Object() {
cout << "my message\n";
}
// define a global object somewhere in .cc or .cxx or .cpp
Object obj;
int main()
{
}
This seems to be an exercise from Stroustrup's book
avatar
Q*A
10
lol....像!
avatar
G*A
11
这个应该是interviewer想要得答案。 The class constructor of a global object。
又一次感觉自己好菜

【在 l***i 的大作中提到】
: constructor of a global object will be called before main()
: class Object {
: public:
: Object();
: };
: Object::Object() {
: cout << "my message\n";
: }
: // define a global object somewhere in .cc or .cxx or .cpp
: Object obj;

avatar
N*t
12
。。。像披着羊皮的狼,大尾巴露馅拉
avatar
d*x
13
C++面试就那么几个经典问题翻来覆去的问。
类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

【在 G****A 的大作中提到】
: 这个应该是interviewer想要得答案。 The class constructor of a global object。
: 又一次感觉自己好菜

avatar
d*1
14
灰常同意这个说法。

【在 N******t 的大作中提到】
: 。。。像披着羊皮的狼,大尾巴露馅拉
avatar
l*i
15
还有些什么经典问题可以说说么?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
16
像这种tricky的真不多。。
多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
难之类的。。。

【在 l****i 的大作中提到】
: 还有些什么经典问题可以说说么?
avatar
B*5
17
这咋搞?template?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
18
和主帖问题同一个思路啊。。用构造函数

【在 B******5 的大作中提到】
: 这咋搞?template?
avatar
A*i
19
啥意思?不停的new, delete五次然后用一个static放在构造和析构里面让它++?

【在 d**********x 的大作中提到】
: 和主帖问题同一个思路啊。。用构造函数
avatar
d*x
20
差不多吧
不过new数组就可以了。

【在 A*****i 的大作中提到】
: 啥意思?不停的new, delete五次然后用一个static放在构造和析构里面让它++?
avatar
A*i
21
妈的还是不过关
我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

【在 d**********x 的大作中提到】
: 差不多吧
: 不过new数组就可以了。

avatar
d*x
22
没事,这种都是属于知道就知道,不知道一般当场想不出的
一旦知道了,这一类问题也就都变成渣了

妈的还是不过关
我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

【在 A*****i 的大作中提到】
: 妈的还是不过关
: 我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

avatar
x*0
23
mark
avatar
d*n
24
学习了。。。
avatar
n*e
25
学习了
avatar
i*t
26
考这种问题 多无聊啊
avatar
e*r
27
其实还能更简单一点
ostream& out=(cout<
【在 l***i 的大作中提到】
: constructor of a global object will be called before main()
: class Object {
: public:
: Object();
: };
: Object::Object() {
: cout << "my message\n";
: }
: // define a global object somewhere in .cc or .cxx or .cpp
: Object obj;

avatar
r*n
28
template metaprogramming?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
29
也可以,编译时递归

【在 r*********n 的大作中提到】
: template metaprogramming?
avatar
r*n
30
面试官要真的想通过这些trick出难题,那真是无底洞啊
书上说template metaprogramming是Turing complete,想要什么样子的程序都可以用
编译器搞定。
对了,你说design pattern最多考到singleton吗?还有些很诡异的,比如factory,是
不是不容易考到。上次看到thinking in c++里面讲到Abstract factory 和
Polymorphic factory,头都大了。

【在 d**********x 的大作中提到】
: 也可以,编译时递归
avatar
d*x
31
不是的
我只是举一个例子。。。singleton一般人都知道,但是很多人不知道其中thread safe
怎么做,很多人不知道怎么顺序初始化并且约定销毁顺序。。。
design pattern是一定要懂的,不过不要痴迷。。。看看<> 或者
Head First吧。。。

【在 r*********n 的大作中提到】
: 面试官要真的想通过这些trick出难题,那真是无底洞啊
: 书上说template metaprogramming是Turing complete,想要什么样子的程序都可以用
: 编译器搞定。
: 对了,你说design pattern最多考到singleton吗?还有些很诡异的,比如factory,是
: 不是不容易考到。上次看到thinking in c++里面讲到Abstract factory 和
: Polymorphic factory,头都大了。

avatar
r*n
32
Thanks.

safe

【在 d**********x 的大作中提到】
: 不是的
: 我只是举一个例子。。。singleton一般人都知道,但是很多人不知道其中thread safe
: 怎么做,很多人不知道怎么顺序初始化并且约定销毁顺序。。。
: design pattern是一定要懂的,不过不要痴迷。。。看看<> 或者
: Head First吧。。。

avatar
b*m
33
我从来不考人这类问题。
avatar
t*i
34
考这个有意思么?也就是害大家白花时间来准备。
一年前我把 c faq, effective c++, more effective c++ 都看了一遍,可是,现在
全还回去了。 平时也用不上。

【在 G****A 的大作中提到】
: in-person interview
: Interviewer: how to std::cout some sentences before main() function.
: Me: blahblah... global variable ....blahblah
: Interviewer: global variable is close, but how exactly ...?
: Me: .....
:

avatar
r*6
35
singleton怎么摧毁?不是说singleton的destructor是private?

多了

【在 d**********x 的大作中提到】
: 像这种tricky的真不多。。
: 多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
: 略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
: 难之类的。。。

avatar
d*x
36
资源仍然是需要释放的。
设想一下,如果资源不是内存,而是外设的使用权或者引用计数呢
这些东西在程序退出的时候一定要返还给系统。所以这些singleton的设计者一定要提
供destroy方法。有的时候这些资源之间还有相互依赖的关系,就要约定摧毁顺序了。
比较糟糕的是这玩意的摧毁顺序有时和创建顺序不一致。。。

与困

【在 r*******6 的大作中提到】
: singleton怎么摧毁?不是说singleton的destructor是private?
:
: 多了

avatar
s*l
37
能具体说说 怎么写是对的吗?
多谢

【在 d**********x 的大作中提到】
: 资源仍然是需要释放的。
: 设想一下,如果资源不是内存,而是外设的使用权或者引用计数呢
: 这些东西在程序退出的时候一定要返还给系统。所以这些singleton的设计者一定要提
: 供destroy方法。有的时候这些资源之间还有相互依赖的关系,就要约定摧毁顺序了。
: 比较糟糕的是这玩意的摧毁顺序有时和创建顺序不一致。。。
:
: 与困

avatar
d*x
38
保证创建顺序是搞一个函数,然后初始化的时候调用一次,挨个去getInstance
这样的问题是能够保证初始化顺序(如果是static变量的话,初始化顺序可能会乱),
但是就丢掉了lazy eval,会略微影响效率。
destroy一般是定义一个static函数注册到atexit,这样退出的时候就能调用到这些
destroy函数。需要注意的是仍然有可能在销毁多个singleton过程中有一些singleton
要重新构造,因为后面销毁的singleton有一定可能又会用到前面销毁的singleton。。。
另一个办法是将要销毁的singleton的destroy函数统一放到一个带优先级的队列里,按
照依赖顺序排好,然后做一个函数来依照这个队列销毁,注册到atexit。
至于singleton的初始化线程安全问题,先去google一下double locking,再搜索一下
memory barrier,就差不多了。

要提
了。

【在 s********l 的大作中提到】
: 能具体说说 怎么写是对的吗?
: 多谢

avatar
s*l
39
多谢 多谢 很张知识
你说的注册到at exit 是说windows的注册表 还是什么啊?

singleton
。。

【在 d**********x 的大作中提到】
: 保证创建顺序是搞一个函数,然后初始化的时候调用一次,挨个去getInstance
: 这样的问题是能够保证初始化顺序(如果是static变量的话,初始化顺序可能会乱),
: 但是就丢掉了lazy eval,会略微影响效率。
: destroy一般是定义一个static函数注册到atexit,这样退出的时候就能调用到这些
: destroy函数。需要注意的是仍然有可能在销毁多个singleton过程中有一些singleton
: 要重新构造,因为后面销毁的singleton有一定可能又会用到前面销毁的singleton。。。
: 另一个办法是将要销毁的singleton的destroy函数统一放到一个带优先级的队列里,按
: 照依赖顺序排好,然后做一个函数来依照这个队列销毁,注册到atexit。
: 至于singleton的初始化线程安全问题,先去google一下double locking,再搜索一下
: memory barrier,就差不多了。

avatar
j*x
40
问道singleton直接就说我坚决抵制,下一步如果不同意直接表示贵司太烂,本人不去
也罢,摔电话走人。
免责声明:模仿有风险。。。

多了

【在 d**********x 的大作中提到】
: 像这种tricky的真不多。。
: 多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
: 略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
: 难之类的。。。

avatar
d*x
41
。。。

与困

【在 j********x 的大作中提到】
: 问道singleton直接就说我坚决抵制,下一步如果不同意直接表示贵司太烂,本人不去
: 也罢,摔电话走人。
: 免责声明:模仿有风险。。。
:
: 多了

avatar
d*x
42
http://www.cplusplus.com/reference/cstdlib/atexit/

),
,按
一下

【在 s********l 的大作中提到】
: 多谢 多谢 很张知识
: 你说的注册到at exit 是说windows的注册表 还是什么啊?
:
: singleton
: 。。

avatar
w*a
43
模板元编程?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
w*a
44
template
struct Num
{
enum { Result = Num::Result + 1 };
static void print(){
printf("%d ",Result);
Num::print();
};
};
template <>
struct Num<1>
{
enum { Result = 1 };
static void print(){
printf("%d ",Result);
Num<2>::print();
};
};
template <>
struct Num<10>
{
enum { Result = 10 };
static void print(){
printf("%d ",Result);
};
};
////////////
Num<1> x;
x.print();
avatar
w*a
45
想了想其实这也算递归。。
avatar
w*6
46
mark
avatar
G*A
48
in-person interview
Interviewer: how to std::cout some sentences before main() function.
Me: blahblah... global variable ....blahblah
Interviewer: global variable is close, but how exactly ...?
Me: .....
avatar
p*p
49
void fun() { cout << "aa" << endl; }
static void *a = fun();
类似这样?
avatar
A*i
50
没看懂啥意思
你可以呼叫好猫问问
avatar
l*i
51
constructor of a global object will be called before main()
class Object {
public:
Object();
};
Object::Object() {
cout << "my message\n";
}
// define a global object somewhere in .cc or .cxx or .cpp
Object obj;
int main()
{
}
This seems to be an exercise from Stroustrup's book
avatar
G*A
52
这个应该是interviewer想要得答案。 The class constructor of a global object。
又一次感觉自己好菜

【在 l***i 的大作中提到】
: constructor of a global object will be called before main()
: class Object {
: public:
: Object();
: };
: Object::Object() {
: cout << "my message\n";
: }
: // define a global object somewhere in .cc or .cxx or .cpp
: Object obj;

avatar
d*x
53
C++面试就那么几个经典问题翻来覆去的问。
类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

【在 G****A 的大作中提到】
: 这个应该是interviewer想要得答案。 The class constructor of a global object。
: 又一次感觉自己好菜

avatar
l*i
54
还有些什么经典问题可以说说么?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
55
像这种tricky的真不多。。
多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
难之类的。。。

【在 l****i 的大作中提到】
: 还有些什么经典问题可以说说么?
avatar
B*5
56
这咋搞?template?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
57
和主帖问题同一个思路啊。。用构造函数

【在 B******5 的大作中提到】
: 这咋搞?template?
avatar
A*i
58
啥意思?不停的new, delete五次然后用一个static放在构造和析构里面让它++?

【在 d**********x 的大作中提到】
: 和主帖问题同一个思路啊。。用构造函数
avatar
d*x
59
差不多吧
不过new数组就可以了。

【在 A*****i 的大作中提到】
: 啥意思?不停的new, delete五次然后用一个static放在构造和析构里面让它++?
avatar
A*i
60
妈的还是不过关
我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

【在 d**********x 的大作中提到】
: 差不多吧
: 不过new数组就可以了。

avatar
d*x
61
没事,这种都是属于知道就知道,不知道一般当场想不出的
一旦知道了,这一类问题也就都变成渣了

妈的还是不过关
我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

【在 A*****i 的大作中提到】
: 妈的还是不过关
: 我其实第一反应比那个new delete还傻逼,我想到的是继承十次……

avatar
x*0
62
mark
avatar
d*n
63
学习了。。。
avatar
n*e
64
学习了
avatar
i*t
65
考这种问题 多无聊啊
avatar
e*r
66
其实还能更简单一点
ostream& out=(cout<
【在 l***i 的大作中提到】
: constructor of a global object will be called before main()
: class Object {
: public:
: Object();
: };
: Object::Object() {
: cout << "my message\n";
: }
: // define a global object somewhere in .cc or .cxx or .cpp
: Object obj;

avatar
r*n
67
template metaprogramming?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
d*x
68
也可以,编译时递归

【在 r*********n 的大作中提到】
: template metaprogramming?
avatar
r*n
69
面试官要真的想通过这些trick出难题,那真是无底洞啊
书上说template metaprogramming是Turing complete,想要什么样子的程序都可以用
编译器搞定。
对了,你说design pattern最多考到singleton吗?还有些很诡异的,比如factory,是
不是不容易考到。上次看到thinking in c++里面讲到Abstract factory 和
Polymorphic factory,头都大了。

【在 d**********x 的大作中提到】
: 也可以,编译时递归
avatar
d*x
70
不是的
我只是举一个例子。。。singleton一般人都知道,但是很多人不知道其中thread safe
怎么做,很多人不知道怎么顺序初始化并且约定销毁顺序。。。
design pattern是一定要懂的,不过不要痴迷。。。看看<> 或者
Head First吧。。。

【在 r*********n 的大作中提到】
: 面试官要真的想通过这些trick出难题,那真是无底洞啊
: 书上说template metaprogramming是Turing complete,想要什么样子的程序都可以用
: 编译器搞定。
: 对了,你说design pattern最多考到singleton吗?还有些很诡异的,比如factory,是
: 不是不容易考到。上次看到thinking in c++里面讲到Abstract factory 和
: Polymorphic factory,头都大了。

avatar
r*n
71
Thanks.

safe

【在 d**********x 的大作中提到】
: 不是的
: 我只是举一个例子。。。singleton一般人都知道,但是很多人不知道其中thread safe
: 怎么做,很多人不知道怎么顺序初始化并且约定销毁顺序。。。
: design pattern是一定要懂的,不过不要痴迷。。。看看<> 或者
: Head First吧。。。

avatar
b*m
72
我从来不考人这类问题。
avatar
t*i
73
考这个有意思么?也就是害大家白花时间来准备。
一年前我把 c faq, effective c++, more effective c++ 都看了一遍,可是,现在
全还回去了。 平时也用不上。

【在 G****A 的大作中提到】
: in-person interview
: Interviewer: how to std::cout some sentences before main() function.
: Me: blahblah... global variable ....blahblah
: Interviewer: global variable is close, but how exactly ...?
: Me: .....
:

avatar
r*6
74
singleton怎么摧毁?不是说singleton的destructor是private?

多了

【在 d**********x 的大作中提到】
: 像这种tricky的真不多。。
: 多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
: 略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
: 难之类的。。。

avatar
d*x
75
资源仍然是需要释放的。
设想一下,如果资源不是内存,而是外设的使用权或者引用计数呢
这些东西在程序退出的时候一定要返还给系统。所以这些singleton的设计者一定要提
供destroy方法。有的时候这些资源之间还有相互依赖的关系,就要约定摧毁顺序了。
比较糟糕的是这玩意的摧毁顺序有时和创建顺序不一致。。。

与困

【在 r*******6 的大作中提到】
: singleton怎么摧毁?不是说singleton的destructor是private?
:
: 多了

avatar
s*l
76
能具体说说 怎么写是对的吗?
多谢

【在 d**********x 的大作中提到】
: 资源仍然是需要释放的。
: 设想一下,如果资源不是内存,而是外设的使用权或者引用计数呢
: 这些东西在程序退出的时候一定要返还给系统。所以这些singleton的设计者一定要提
: 供destroy方法。有的时候这些资源之间还有相互依赖的关系,就要约定摧毁顺序了。
: 比较糟糕的是这玩意的摧毁顺序有时和创建顺序不一致。。。
:
: 与困

avatar
d*x
77
保证创建顺序是搞一个函数,然后初始化的时候调用一次,挨个去getInstance
这样的问题是能够保证初始化顺序(如果是static变量的话,初始化顺序可能会乱),
但是就丢掉了lazy eval,会略微影响效率。
destroy一般是定义一个static函数注册到atexit,这样退出的时候就能调用到这些
destroy函数。需要注意的是仍然有可能在销毁多个singleton过程中有一些singleton
要重新构造,因为后面销毁的singleton有一定可能又会用到前面销毁的singleton。。。
另一个办法是将要销毁的singleton的destroy函数统一放到一个带优先级的队列里,按
照依赖顺序排好,然后做一个函数来依照这个队列销毁,注册到atexit。
至于singleton的初始化线程安全问题,先去google一下double locking,再搜索一下
memory barrier,就差不多了。

要提
了。

【在 s********l 的大作中提到】
: 能具体说说 怎么写是对的吗?
: 多谢

avatar
s*l
78
多谢 多谢 很张知识
你说的注册到at exit 是说windows的注册表 还是什么啊?

singleton
。。

【在 d**********x 的大作中提到】
: 保证创建顺序是搞一个函数,然后初始化的时候调用一次,挨个去getInstance
: 这样的问题是能够保证初始化顺序(如果是static变量的话,初始化顺序可能会乱),
: 但是就丢掉了lazy eval,会略微影响效率。
: destroy一般是定义一个static函数注册到atexit,这样退出的时候就能调用到这些
: destroy函数。需要注意的是仍然有可能在销毁多个singleton过程中有一些singleton
: 要重新构造,因为后面销毁的singleton有一定可能又会用到前面销毁的singleton。。。
: 另一个办法是将要销毁的singleton的destroy函数统一放到一个带优先级的队列里,按
: 照依赖顺序排好,然后做一个函数来依照这个队列销毁,注册到atexit。
: 至于singleton的初始化线程安全问题,先去google一下double locking,再搜索一下
: memory barrier,就差不多了。

avatar
j*x
79
问道singleton直接就说我坚决抵制,下一步如果不同意直接表示贵司太烂,本人不去
也罢,摔电话走人。
免责声明:模仿有风险。。。

多了

【在 d**********x 的大作中提到】
: 像这种tricky的真不多。。
: 多数还是考考基本概念,effective cpp和exceptional cpp每个item能够解释就差不多了
: 略复杂点的比如解决singleton的初始化和摧毁顺序,exception在c++里面的应用与困
: 难之类的。。。

avatar
d*x
80
。。。

与困

【在 j********x 的大作中提到】
: 问道singleton直接就说我坚决抵制,下一步如果不同意直接表示贵司太烂,本人不去
: 也罢,摔电话走人。
: 免责声明:模仿有风险。。。
:
: 多了

avatar
d*x
81
http://www.cplusplus.com/reference/cstdlib/atexit/

),
,按
一下

【在 s********l 的大作中提到】
: 多谢 多谢 很张知识
: 你说的注册到at exit 是说windows的注册表 还是什么啊?
:
: singleton
: 。。

avatar
w*a
82
模板元编程?

【在 d**********x 的大作中提到】
: C++面试就那么几个经典问题翻来覆去的问。
: 类似的还有一个:如何不用循环、不用递归打印出1 2 3 4 5 6 7 8 9 ... n

avatar
w*a
83
template
struct Num
{
enum { Result = Num::Result + 1 };
static void print(){
printf("%d ",Result);
Num::print();
};
};
template <>
struct Num<1>
{
enum { Result = 1 };
static void print(){
printf("%d ",Result);
Num<2>::print();
};
};
template <>
struct Num<10>
{
enum { Result = 10 };
static void print(){
printf("%d ",Result);
};
};
////////////
Num<1> x;
x.print();
avatar
w*a
84
想了想其实这也算递归。。
avatar
w*6
85
mark
avatar
h*p
87
mark
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。