Welcome to Leon's Blog
日歷
<
2025年5月
>
日
一
二
三
四
五
六
27
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
統計
隨筆 - 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語言文件讀寫(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:
博客園
模板提供:
滬江博客
久久男人中文字幕资源站
|
九九热久久免费视频
|
久久精品中文字幕一区
|
久久久精品人妻一区二区三区四
|
久久精品国产亚洲AV香蕉
|
青青草原精品99久久精品66
|
亚洲国产成人久久精品动漫
|
日批日出水久久亚洲精品tv
|
久久久老熟女一区二区三区
|
成人国内精品久久久久影院VR
|
99久久无码一区人妻a黑
|
久久久久综合网久久
|
伊人色综合久久天天网
|
99久久亚洲综合精品网站
|
久久精品国产AV一区二区三区
|
国产精品久久久久影院嫩草
|
模特私拍国产精品久久
|
国产免费久久久久久无码
|
蜜臀久久99精品久久久久久小说
|
色综合久久最新中文字幕
|
久久久久亚洲AV无码观看
|
97久久精品人人澡人人爽
|
浪潮AV色综合久久天堂
|
婷婷久久五月天
|
久久久综合香蕉尹人综合网
|
香蕉久久夜色精品国产小说
|
精品人妻久久久久久888
|
久久精品国产99国产精品亚洲
|
久久一区二区三区免费
|
999久久久免费国产精品播放
|
久久99国产精品久久99果冻传媒
|
久久精品国产99国产精品导航
|
久久精品国产亚洲精品
|
久久国产精品无码一区二区三区
|
久久午夜福利无码1000合集
|
日韩十八禁一区二区久久
|
久久精品综合网
|
狠狠色婷婷久久综合频道日韩
|
久久婷婷国产综合精品
|
久久综合香蕉国产蜜臀AV
|
久久精品aⅴ无码中文字字幕重口
|