Welcome to Leon's Blog
日歷
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
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
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學習(11559)
2.?acm pku 1010 程序(1930)
3.?轉載ACM學習建議(以此鼓勵自己)(1674)
4.?C語言文件讀寫(1591)
5.?1001題探討(1553)
評論排行榜
1.?1003題探討(8)
2.?求助程序(6)
3.?刪除病毒求助(6)
4.?網上面試題疑問(4)
5.?acm pku 1010 程序(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
閱讀(344)
評論(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:
博客園
模板提供:
滬江博客
久久人人爽人人人人片av
|
热99RE久久精品这里都是精品免费
|
91麻豆精品国产91久久久久久
|
久久精品水蜜桃av综合天堂
|
欧美成a人片免费看久久
|
久久毛片一区二区
|
久久精品国产亚洲精品2020
|
91精品国产综合久久香蕉
|
久久亚洲精品无码播放
|
久久精品免费一区二区
|
99久久免费国产精精品
|
久久精品不卡
|
久久久精品国产sm调教网站
|
久久国产精品国语对白
|
久久婷婷五月综合色奶水99啪
|
精品久久久久久久中文字幕
|
狠狠色噜噜色狠狠狠综合久久
|
久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口
|
天堂久久天堂AV色综合
|
久久精品这里热有精品
|
国产色综合久久无码有码
|
91超碰碰碰碰久久久久久综合
|
四虎影视久久久免费
|
亚洲国产精品久久电影欧美
|
韩国三级中文字幕hd久久精品
|
漂亮人妻被黑人久久精品
|
久久精品国产亚洲7777
|
久久r热这里有精品视频
|
久久免费大片
|
999久久久国产精品
|
精品精品国产自在久久高清
|
无码精品久久久天天影视
|
亚洲婷婷国产精品电影人久久
|
久久久久久亚洲精品无码
|
久久er99热精品一区二区
|
久久亚洲sm情趣捆绑调教
|
久久综合狠狠综合久久97色
|
久久精品国产亚洲Aⅴ香蕉
|
久久久91人妻无码精品蜜桃HD
|
久久精品成人免费网站
|
久久久久久综合一区中文字幕
|