Welcome to Leon's Blog
日歷
<
2008年10月
>
日
一
二
三
四
五
六
28
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
統計
隨筆 - 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學習(11558)
2.?acm pku 1010 程序(1930)
3.?轉載ACM學習建議(以此鼓勵自己)(1674)
4.?C語言文件讀寫(1590)
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:
博客園
模板提供:
滬江博客
国产成人久久精品麻豆一区
|
久久中文字幕人妻丝袜
|
久久99精品国产麻豆蜜芽
|
精品视频久久久久
|
伊人色综合久久天天人手人婷
|
青草国产精品久久久久久
|
久久久久亚洲精品无码蜜桃
|
狠色狠色狠狠色综合久久
|
青青热久久国产久精品
|
AV无码久久久久不卡蜜桃
|
久久久久国产
|
99国产精品久久
|
香蕉aa三级久久毛片
|
国内精品伊人久久久久AV影院
|
久久天天躁狠狠躁夜夜2020
|
无码伊人66久久大杳蕉网站谷歌
|
91精品国产色综久久
|
亚洲香蕉网久久综合影视
|
久久国产成人
|
精品综合久久久久久97超人
|
久久亚洲国产精品一区二区
|
久久只有这精品99
|
国产日韩欧美久久
|
99久久免费国产精品热
|
久久无码AV中文出轨人妻
|
国产成人综合久久久久久
|
久久精品国产第一区二区三区
|
亚洲精品NV久久久久久久久久
|
国产精品久久久久影院嫩草
|
人妻无码精品久久亚瑟影视
|
久久久久18
|
欧美激情精品久久久久
|
久久人人妻人人爽人人爽
|
97精品国产97久久久久久免费
|
伊人久久综合精品无码AV专区
|
理论片午午伦夜理片久久
|
国产综合精品久久亚洲
|
久久93精品国产91久久综合
|
成人精品一区二区久久久
|
国产精品免费久久
|
国产成人精品久久亚洲高清不卡
|