Welcome to Leon's Blog
日歷
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
統計
隨筆 - 30
文章 - 0
評論 - 51
引用 - 0
導航
C++博客
首頁
發新隨筆
發新文章
聯系
聚合
管理
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
c++學習(10)
(rss)
windows編程(2)
(rss)
編譯學習(1)
(rss)
隨筆檔案
2009年9月 (3)
2009年4月 (1)
2009年3月 (2)
2008年12月 (3)
2008年10月 (4)
2008年9月 (3)
2008年8月 (2)
2008年7月 (2)
2008年6月 (2)
2008年5月 (8)
ACM
AClayton
bon
sicheng
SKYIV STUDIO
搜索
最新評論
1.?re: 一個Java的B-Tree源代碼
@eee
怎么用Java 寫Btree啊
--劉彬
2.?re: acm pku 1010 程序
似乎沒有用到動態規劃
--qingzheng
3.?re: C語言文件讀寫
這是用通過調用c語言的庫文件來實現。
以下是用C++的中的stream來實現的,但是在處理中文的時候,會出現一些亂碼。
--ablajan
4.?re: 一個Java的B-Tree源代碼
e
--eee
5.?re: 一個Java的B-Tree源代碼
rrr
--eee
閱讀排行榜
1.?std:string學習(11565)
2.?acm pku 1010 程序(1933)
3.?轉載ACM學習建議(以此鼓勵自己)(1679)
4.?C語言文件讀寫(1597)
5.?1001題探討(1555)
評論排行榜
1.?1003題探討(8)
2.?求助程序(6)
3.?刪除病毒求助(6)
4.?acm pku 1010 程序(4)
5.?1005探討(4)
網上面試題疑問
快找工作了,從今天開始開始復習C++等知識了。現在遇到了幾個奇怪的題目:
1、
class
CLS
{
public
:
int
m_i;
CLS(
int
i )
//
: m_i(i) {}
{
m_i
=
i;
}
CLS()
{
CLS(
0
);
}
}
;
int
main()
{
CLS obj;
cout
<<
obj.m_i
<<
endl;
}
問輸出是多少?
調試之后,發現在
CLS()
{
CLS(0);
}
中的this指針不同,所以這里可能和c#或者Java不同,當調用CLS(0)的時候,它會重新分配一塊空間,并且初始化新對象的m_i=0.
后來在網上搜了一下,找打了這篇文章:
http://blog.csdn.net/cnheying/archive/2007/05/16/1611698.aspx
和
http://www.cnblogs.com/chio/archive/2007/10/20/931043.html
。不知道大家對這道題有什么想法,歡迎討論!
2、
float
a
=
1
;
cout
<<
(
int
)a
<<
endl;
cout
<<
(
int
&
)a
<<
endl;
//
cout << *(int*)&a << endl;
cout
<<
boolalpha
<<
((
int
)a
==
(
int
&
)a)
<<
endl;
float
b
=
0.0f
;
cout
<<
(
int
)b
<<
endl;
cout
<<
(
int
&
)b
<<
endl;
cout
<<
boolalpha
<<
((
int
)b
==
(
int
&
)b)
<<
endl;
cout
<<
endl;
本來不存在我注釋的那一行,考慮(int&)a的時候,發現輸出跟想想的不一樣,后來發現和*(int*)&a的值是相同的。所以我猜測(int&)a可能首先取a的地址,然后轉化成(int*),再去a地址里面的內容,這時是按照int讀取的。
3、
int
x
=
1
;
int
*
p
=
&
x;
int
y
=
4
;
cout
<<
(
++
(
*
p)
<
y
?
(
*
p)
++
: y)
<<
endl;
cout
<<
x
<<
endl;
關于三元運算符和++的比較,++的優先級比三元運算符高。我是在VS2005下調試的,通過讀匯編代碼,發現((*p) ++< y ? (*p)++: y);首先對x+1,然后把值回寫的內存中,用原來的之比較,比較晚之后,再從內存中讀取出值,進行cout<<(*p)++<<endl;的操作。輸出原值后再+1。結果x最終輸出3。(這樣如果死扣語言,我覺得自己會死人的)。
如果以上哪里分析的不對,歡迎大家拍磚!!
posted on 2008-10-06 16:00
Leon916
閱讀(347)
評論(4)
編輯
收藏
引用
所屬分類:
c++學習
評論:
#
re: 網上面試題疑問
canbingzt
Posted @ 2008-10-06 17:14
(int&)a
是不是引用的意思?
回復
更多評論
#
re: 網上面試題疑問
李現民
Posted @ 2008-10-07 16:29
關于i++的問題,c++的與c#, java的計算規則不一樣,真搞不清楚為什么要考這樣的東西
回復
更多評論
#
re: 網上面試題疑問[未登錄]
Xw.Y
Posted @ 2008-10-07 16:55
1.構造函數的調用和實例初始化的次序問題
2.強類型轉換……很奇怪的寫法
3.變量取地址,指針取值,以及++的用法
也就第一題還能算題吧,其實都是簡單概念,很無聊而且很不厚道的題目……沒啥意思,
回復
更多評論
#
re: 網上面試題疑問
Leon916
Posted @ 2008-10-07 21:51
(int&)a我覺得不是引用。
我也實在搞不清楚,為什么公司希望用這些東西來衡量一個人C++語言的水平,但是也沒有辦法。
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
歸并排序
STL源碼閱讀1
重新開始
C語言文件讀寫
一個Java的B-Tree源代碼
std:string學習
std::Vector學習
筆試題2
sizeof 用法總結(轉)
網上面試題疑問
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright © Leon916
Powered by:
博客園
模板提供:
滬江博客
久久久久久a亚洲欧洲aⅴ
|
久久久亚洲欧洲日产国码是AV
|
亚洲精品乱码久久久久久蜜桃不卡
|
国产精品gz久久久
|
久久精品亚洲精品国产欧美
|
欧美无乱码久久久免费午夜一区二区三区中文字幕
|
九九久久精品国产
|
久久久久久精品免费免费自慰
|
久久国产精品一国产精品金尊
|
一本一道久久精品综合
|
国产成人久久精品一区二区三区
|
国产精品99久久精品
|
中文字幕无码久久久
|
精品午夜久久福利大片
|
久久久久99这里有精品10
|
日韩精品久久久久久
|
性高湖久久久久久久久
|
久久久噜噜噜久久
|
日本免费久久久久久久网站
|
亚洲精品无码久久久久sm
|
亚洲婷婷国产精品电影人久久
|
九九久久精品无码专区
|
狠狠色丁香久久婷婷综合五月
|
中文字幕亚洲综合久久2
|
性高湖久久久久久久久
|
久久精品国产亚洲αv忘忧草
|
国产福利电影一区二区三区久久老子无码午夜伦不
|
免费精品久久久久久中文字幕
|
77777亚洲午夜久久多喷
|
色欲av伊人久久大香线蕉影院
|
久久精品国产精品亚洲艾草网美妙
|
少妇内射兰兰久久
|
亚洲∧v久久久无码精品
|
亚洲综合伊人久久综合
|
久久99久久99精品免视看动漫
|
欧美午夜精品久久久久久浪潮
|
香港aa三级久久三级
|
日本精品久久久中文字幕
|
一级做a爱片久久毛片
|
品成人欧美大片久久国产欧美...
|
91麻精品国产91久久久久
|