青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
我的編程樂(lè)園
積累,堅(jiān)持!
---------我是一只IT小小鳥(niǎo)
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆-145 評(píng)論-173 文章-70 trackbacks-0
【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)【新的問(wèn)題!】【各位繼續(xù)關(guān)注討論啊!】
最近突然發(fā)現(xiàn)自己曾經(jīng)建立的C++體系出現(xiàn)了很多漏洞,對(duì)很多問(wèn)題都產(chǎn)生了疑問(wèn),不知道自己是鉆了牛角尖還是探究C++的底層或者細(xì)節(jié),不過(guò)既然碰到了,就解決之吧,或許在某一天之后,會(huì)驚奇的發(fā)現(xiàn),原來(lái)自己的這些問(wèn)題會(huì)出現(xiàn)某天的筆試或者工作中呢。
言歸正傳,這個(gè)問(wèn)題是關(guān)于new操作符的。今天在完成C++作業(yè)的時(shí)候,需要自己實(shí)現(xiàn)一個(gè)strlen來(lái),其實(shí)就是調(diào)用C語(yǔ)言函數(shù)就可以,不過(guò)我突發(fā)奇想,寫(xiě)下了下面的這個(gè)代碼:
code 1:
1
#include
<
iostream
>
2
using
namespace
std;
3
4
int
main()
5
{
6
char
*
str
=
new
char
[
4
];
7
strcpy(str,
"
fjifejfief
"
);
8
cout
<<
str
<<
endl;
9
}
code 2:
1
#include
<
iostream
>
2
using
namespace
std;
3
4
int
main()
5
{
6
char
*
str
=
new
char
[
5
];
7
strcpy(str,
"
Good
"
);
8
strcat(str,
"
I Love C++
"
);
9
cout
<<
str
<<
endl;
10
}
上面的兩個(gè)代碼都是用到了new操作符,動(dòng)態(tài)分配了一個(gè)固定的存儲(chǔ)空間,OK。
然后通過(guò)strcpy來(lái)實(shí)現(xiàn)賦值,從而將原來(lái)的那個(gè)分配的區(qū)域填充。可是在1和2中都有一個(gè)問(wèn)題,那就是,填充的字符串超過(guò)了動(dòng)態(tài)分配的大小,在code1中,實(shí)際分配的只有4個(gè)字節(jié),而自己拷貝過(guò)去的確有10個(gè)字節(jié)(不含null),而code2中,首先初始化的時(shí)候沒(méi)有問(wèn)題,后面的連接函數(shù)也是。為何我會(huì)產(chǎn)生這個(gè)問(wèn)題呢?
因?yàn)樵?jīng)在《C++ Primer》一書(shū)中講到,當(dāng)進(jìn)行字符串操作的時(shí)候,需要特別注意到那個(gè)null要占用一個(gè)空間,而對(duì)于strcat和其他函數(shù),特別要注意是否超過(guò)表示的范圍,而我自己曾經(jīng)碰到過(guò)這個(gè)問(wèn)題,所以比較疑惑,上面的那個(gè)沒(méi)有溢出嗎?為何可以輸出正確的結(jié)果呢?
下面,列出個(gè)錯(cuò)誤的例子來(lái)看看:
code3
1
#include
<
iostream
>
2
using
namespace
std;
3
4
int
main()
5
{
6
char
str[
4
]
=
"
goo
"
;
7
cout
<<
str
<<
endl;
8
strcat(str,
"
sfsfefe
"
);
9
cout
<<
str
<<
endl;
10
return
0
;
11
}
明顯code3會(huì)出錯(cuò)(剛開(kāi)始的時(shí)候居然沒(méi)有出錯(cuò),后來(lái)程序才崩潰的,以為靈異事件呢。),固定分配的數(shù)組的話,需要特別注意像strcat函數(shù),因?yàn)檫@種連接函數(shù)就可能超過(guò)范圍,發(fā)生錯(cuò)誤。
ok:
匯總?cè)缦拢汗潭ǚ峙涞臅r(shí)候,不能夠超過(guò)數(shù)組的范圍,而且字符串的話需要注意總是有一個(gè)null在其中的,所以大小要自己把握好。
但是,對(duì)于new動(dòng)態(tài)分配的話,可以超過(guò)范圍,不管是strcat還是直接在分配的時(shí)候超過(guò)范圍都可以,Why?
============================================================================================================
經(jīng)過(guò)網(wǎng)友留言匯總,同時(shí)自己測(cè)試,發(fā)現(xiàn)了一些新的問(wèn)題,也有了新的體會(huì)! Version 1
============================================================================================================
留言匯總(解答):
經(jīng)過(guò)和網(wǎng)友的討論,我初步了解了錯(cuò)誤可能的原因,現(xiàn)羅列如下,如有遺漏和錯(cuò)誤,還望各位指教。
1.兩者的分配方式不同。使用關(guān)鍵字new操作符分配的話,分配的空間是在堆當(dāng)中(heap),而直接使用數(shù)組的話,分配的空間在堆棧中(stack)。
2.操作。對(duì)于堆棧的溢出,由于變量的填充時(shí)按照從高地址到低地址的方式,所以,溢出的話會(huì)修改函數(shù)的返回值,造成運(yùn)行的錯(cuò)誤。而對(duì)于堆分配的話,這里即使溢出了,由于沒(méi)有對(duì)它進(jìn)行進(jìn)一步操作,所以沒(méi)有出現(xiàn)問(wèn)題。
3
.我的一點(diǎn)理解。對(duì)于堆棧溢出的錯(cuò)誤,我想大家都知道了,可是上面的這個(gè)堆溢出的話,好像即使有錯(cuò)誤也沒(méi)有什么問(wèn)題。我嘗試了使用
delete []str,或者是輸出str[8]等單元,都是顯示正確的結(jié)果,也沒(méi)有出現(xiàn)錯(cuò)誤。所以懷疑的是,難道堆上的這種分配這么安全,那我delete的話,到底是刪除的分配的4個(gè)字節(jié),還是拷貝過(guò)去的溢出的那個(gè)超過(guò)4個(gè)字節(jié)的那么多單元內(nèi)容呢?我的理解是,堆上分配的單元由于太隨意,靈活性太強(qiáng),所以對(duì)于錯(cuò)誤的發(fā)生就可能性很小。
4.
我寫(xiě)的調(diào)試代碼的一個(gè)新的問(wèn)題:
1
#include
<
iostream
>
2
using
namespace
std;
3
4
int
main()
5
{
6
char
*
str1
=
new
char
[
4
];
7
str1
=
"
sfe
"
;
//如果去掉這一行,那么程序就可以正常運(yùn)行了……可是這個(gè)僅僅是初始化指針的啊。
8
char
str2[
4
]
=
"
adf
"
;
9
cout
<<
"
賦值前:
"
<<
endl;
10
cout
<<
"
str1指向:
"
<<&
str1
<<
endl;
11
cout
<<
"
str1內(nèi)容:
"
<<
str1
<<
endl;
12
cout
<<
"
str2指向:
"
<<&
str2
<<
endl;
13
cout
<<
"
str2內(nèi)容:
"
<<
str2
<<
endl;
14
strcpy(str2,
"
ooo
"
);
15
cout
<<
"
str2先賦值后:
"
<<
endl;
16
cout
<<
"
str1指向:
"
<<&
str1
<<
endl;
17
cout
<<
"
str1內(nèi)容:
"
<<
str1
<<
endl;
18
cout
<<
"
str2指向:
"
<<&
str2
<<
endl;
19
cout
<<
"
str2內(nèi)容:
"
<<
str2
<<
endl;
20
strcpy(str1,
"
iiiiii
"
);
21
cout
<<
"
str1后賦值后:
"
<<
endl;
22
cout
<<
"
str1指向:
"
<<&
str1
<<
endl;
23
cout
<<
"
str1內(nèi)容:
"
<<
str1
<<
endl;
24
cout
<<
"
str2指向:
"
<<&
str2
<<
endl;
25
cout
<<
"
str2內(nèi)容:
"
<<
str2
<<
endl;
26
27
}
28
程序在運(yùn)行一半后崩潰,典型的溢出了。但是,此代碼如果去掉上面初始化的那一行,程序就沒(méi)有錯(cuò)誤,而且我這里還計(jì)算發(fā)現(xiàn)對(duì)于堆棧的話沒(méi)有任何錯(cuò)誤,而堆的話故意寫(xiě)了個(gè)溢出的賦值,就是下面strcpy(str1,"iiiiii");
此時(shí)加上初始化的代碼后,問(wèn)題就來(lái)了,上個(gè)截圖。
從錯(cuò)誤的信息來(lái)看,
就是指向到 strcpy(str1,"iiiiii")的時(shí)候出錯(cuò)了的。
這個(gè)說(shuō)明:在我沒(méi)有對(duì)堆上的變量初始化的時(shí)候,如果越界了,沒(méi)有發(fā)現(xiàn)出錯(cuò)(它會(huì)自動(dòng)擴(kuò)展那個(gè)大小嗎?)。
而如果我對(duì)堆上的變量初始化的話,那么,再次復(fù)制的時(shí)候,如果越界了,就會(huì)發(fā)生錯(cuò)誤!
各位,知道為什么嗎?(
問(wèn)題好像更明朗了些,而且好像更深入了些。當(dāng)然,鉆這個(gè)牛角尖或許沒(méi)有必要!)
posted on 2010-01-13 23:14
deercoder
閱讀(2216)
評(píng)論(23)
編輯
收藏
引用
評(píng)論:
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)[未登錄](méi) 2010-01-14 00:54 |
Steven
你需要去了解下 堆(stack) 和 棧(heap) 的區(qū)別.
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 02:06 |
陳梓瀚(vczh)
因?yàn)閚ew的時(shí)候,系統(tǒng)可以選擇多給你幾個(gè)字節(jié),而且這并不是固定的數(shù)字。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 02:20 |
OwnWaterloo
1. 在C/C++代碼正確且C/C++實(shí)現(xiàn)(編譯器,運(yùn)行庫(kù))正確的情況下, C/C++語(yǔ)言保證得到正確的結(jié)果。
如果出現(xiàn)了錯(cuò)誤的結(jié)果, 可以問(wèn)why。
是"C/C++代碼正確"這個(gè)假設(shè)有誤? 還是"C/C++實(shí)現(xiàn)正確"這個(gè)假設(shè)有誤?
2. 如果C/C++代碼本身有某種錯(cuò)誤, C/C++實(shí)現(xiàn)不保證得到正確的結(jié)果, 也不保證得到錯(cuò)誤的結(jié)果, 更不保證會(huì)報(bào)告錯(cuò)誤的結(jié)果。
代碼的錯(cuò)誤有可能會(huì)被隱藏, 到其他時(shí)候發(fā)作。
這時(shí)候, 詢問(wèn)"為什么沒(méi)有出現(xiàn)錯(cuò)誤", 是不明智的。
C/C++實(shí)現(xiàn)沒(méi)有義務(wù)保證產(chǎn)生一個(gè)錯(cuò)誤。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 09:22 |
bluegene
我是這樣理解的,你用 new 分配的空間是放在堆(heap)里的,超出了的空間如果不被其它數(shù)據(jù)覆蓋暫時(shí)是沒(méi)有問(wèn)題的。固定分配的時(shí)候是在棧(stack)里分配的,其空間肯定是不能益處的。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 10:26 |
飯中淹
new分配的在堆里,你溢出了,只會(huì)導(dǎo)致堆出問(wèn)題。而你下面又沒(méi)有再使用堆,所以不會(huì)出錯(cuò)。
直接寫(xiě)的局部變量,分配在堆棧里,堆棧里有函數(shù)的返回地址,所以溢出了,覆蓋了返回地址,函數(shù)執(zhí)行完就出錯(cuò)了。
另外,有些 編譯器會(huì)生成對(duì)固定長(zhǎng)度數(shù)組的保護(hù)性檢測(cè)代碼,一旦溢出,就會(huì)彈出提示。早先在vs2003還是vs2002的時(shí)候見(jiàn)過(guò)。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 10:27 |
zuhd
對(duì)于堆來(lái)講,生長(zhǎng)方向是向上的,也就是向著內(nèi)存地址增加的方向;對(duì)于棧來(lái)講,它的生長(zhǎng)方向是向下的,是向著內(nèi)存地址減小的方向增長(zhǎng)。看下反匯編代碼一切都明白了
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 10:31 |
zuhd
棧里有函數(shù)的返回地址,所以溢出了,覆蓋了返回地址,函數(shù)執(zhí)行完就出錯(cuò)了。
==========================================
這句話是重點(diǎn),當(dāng)ret的時(shí)候,call下條指令時(shí)異常了,如果你多定義了幾個(gè)變量,讓棧溢出不到函數(shù)的返回地址,錯(cuò)誤依然不會(huì)出現(xiàn)的
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)[未登錄](méi) 2010-01-14 12:43 |
vane
出錯(cuò)是必然的,沒(méi)問(wèn)題的時(shí)候你比較幸運(yùn)。
#include <iostream>
using namespace std;
#pragma pack(push)
#pragma pack(1)
int main()
{
char *str = new char[5];
strcpy(str,"Good");
strcat(str,"I Love C++");
cout << str << endl;
}
#pragma pack(pop)
你可以這么試一下
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 15:53 |
壞人
越界,后果自負(fù)。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 15:57 |
turygo
數(shù)組越界都是這樣的,錯(cuò)誤不是立刻出現(xiàn),而是不知道什么時(shí)候就出問(wèn)題了,而且到那個(gè)時(shí)候代碼量一大,你根本無(wú)從找起錯(cuò)誤。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 17:30 |
零宇
建議樓主補(bǔ)充一下基礎(chǔ)知識(shí)
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 19:22 |
besterChen
LZ遇到的問(wèn)題是堆和棧溢出的問(wèn)題,您說(shuō)的可能是靈異事件是因?yàn)槌绦驅(qū):投褭z查導(dǎo)致的。
不知道LZ用的是什么開(kāi)發(fā)環(huán)境。我學(xué)習(xí)C語(yǔ)言也剛好學(xué)到這里,自己在VC6得開(kāi)發(fā)環(huán)境下仔細(xì)調(diào)試過(guò)其過(guò)程并做了筆記,地址:
http://www.shnenglu.com/besterChen/archive/2010/01/13/105538.html
希望能對(duì)樓主有幫助,由于自己也是初學(xué),希望LZ能多多指正日志中的錯(cuò)誤……
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 22:30 |
wildpointer
這種越界的事,你知道會(huì)錯(cuò)還用。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:21 |
劉暢
@Steven
好的,謝謝。我覺(jué)得也應(yīng)該是這方面的問(wèn)題。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:22 |
劉暢
@陳梓瀚(vczh)
可是多出來(lái)的字節(jié)是無(wú)法預(yù)知的啊。而且如果太多的話還是會(huì)溢出的吧。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:25 |
劉暢
@bluegene
謝謝,之前一直覺(jué)得和內(nèi)存的分配有關(guān),堆棧和堆確實(shí)不大一樣。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:27 |
劉暢
@飯中淹
@zuhd
謝謝你們的精彩解釋,受益匪淺。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:29 |
劉暢
@besterChen
呵呵,一起學(xué)習(xí)!
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-14 23:29 |
劉暢
@零宇
好的,謝謝!
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-15 00:05 |
Benjamin
strcpy等在一些公司的編碼規(guī)范中是禁用的。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn) 2010-01-15 00:55 |
空明流轉(zhuǎn)
bushuoshale...
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)[未登錄](méi) 2010-01-15 09:47 |
Steven
@劉暢
呵呵,我把堆和棧的英文寫(xiě)反了。。。
以前寫(xiě)C 程序的時(shí)候經(jīng)常用到大量的 strcopy, strcat之類的函數(shù),偶爾出錯(cuò)是在所難免的,只要是人總是有算錯(cuò)的時(shí)候,尤其有些時(shí)候混合處理unicode和ansi串的時(shí)候,算字符串長(zhǎng)度是容易出錯(cuò)的。
所以后來(lái)寫(xiě) C++ 的時(shí)候我盡量避免去使用這類函數(shù)了,而是傾向于用 stl的string wstring, 盡量用 stl的容器類去代替自己分配管理內(nèi)存。
代碼規(guī)模大到一定程度,除了緩沖溢出實(shí)在是很難找。
順便說(shuō)下,
http://www.coverity.com/products/static-analysis.html
這個(gè)東西很強(qiáng)大,可以檢測(cè)到你代碼里潛在的溢出問(wèn)題。
回復(fù)
更多評(píng)論
#
re: 【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)
2010-01-15 12:43 |
劉暢
@Steven
謝謝,去看看,學(xué)習(xí)了……
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
堅(jiān)持記錄,筆耕不輟,筆記是最好的學(xué)習(xí)方法!
<
2011年10月
>
日
一
二
三
四
五
六
25
26
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
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(87)
ACM(1)
Android(4)
C++(7)
CTeX和LateX(1)
Git(3)
Java(4)
MFC程序設(shè)計(jì)入門(mén)(8)
OpenCV(1)
Python(3)
Shell/Bash(1)
SQL(1)
Unix/Linux(23)
Vim(3)
大學(xué)公開(kāi)課(3)
讀書(shū)(4)
環(huán)境配置(1)
生活感悟/日記(18)
圖像識(shí)別算法及原理(1)
隨筆檔案
(145)
2014年12月 (1)
2013年3月 (1)
2012年7月 (2)
2012年6月 (5)
2012年5月 (2)
2012年4月 (2)
2011年12月 (1)
2011年11月 (2)
2011年10月 (8)
2011年9月 (2)
2011年8月 (4)
2011年6月 (2)
2011年5月 (5)
2011年4月 (3)
2011年3月 (3)
2010年6月 (5)
2010年5月 (5)
2010年4月 (3)
2010年3月 (16)
2010年2月 (56)
2010年1月 (11)
2009年12月 (2)
2009年11月 (3)
2009年10月 (1)
文章分類
(70)
C/C++(14)
JAVA(6)
Linux/Unix(6)
MFC(5)
OpenCV / OpenGL(6)
編程體會(huì)和收獲(3)
常見(jiàn)編譯器錯(cuò)誤解決辦法(5)
深入理解計(jì)算機(jī)系統(tǒng)(2)
生活的體會(huì)和感悟(5)
實(shí)習(xí)/讀研(1)
數(shù)據(jù)結(jié)構(gòu)和算法分析(9)
雜談(8)
文章檔案
(70)
2011年11月 (1)
2011年10月 (1)
2010年3月 (8)
2010年2月 (2)
2010年1月 (3)
2009年12月 (21)
2009年11月 (26)
2009年10月 (5)
2009年9月 (3)
相冊(cè)
computer picture
ACM與算法比賽
Google Code Jam
Top Coder
北大ACM
杭電ACM
LaTex和Tex學(xué)習(xí)
LaTex and Tex
Tex,LaTex,CTex學(xué)習(xí)
電子書(shū)下載
不錯(cuò)的電子書(shū)免注冊(cè)下載
雜志下載(經(jīng)濟(jì)學(xué)人等)
聯(lián)系方式
我的豆瓣主頁(yè)
學(xué)習(xí)論壇
C++編程
VC知識(shí)庫(kù)
超多C/C++資料和源碼下載
科研小木蟲(chóng)
提問(wèn)必答網(wǎng)站(牛人輩出啊!)
英語(yǔ)網(wǎng)站(長(zhǎng)期學(xué)習(xí))
New York Times
華爾街日?qǐng)?bào)
記單詞,捐大米
經(jīng)濟(jì)學(xué)英文網(wǎng)
普特網(wǎng)站
普特英語(yǔ)應(yīng)用(有趣的學(xué)習(xí))
譯言網(wǎng)|譯文庫(kù)
中國(guó)日?qǐng)?bào)
源碼網(wǎng)站
codeproject
google代碼搜索
programersheaven
sourceforge
程序員聯(lián)合開(kāi)發(fā)網(wǎng)
最新隨筆
1.?此博客停止更新
2.?Adboe Reader提示中文字體有問(wèn)題
3.?Python字符串換行處理
4.?如何轉(zhuǎn)換^M行末符號(hào)
5.?斯坦福大學(xué)開(kāi)放課程--編程范式(四)
搜索
積分與排名
積分 - 907307
排名 - 15
最新隨筆
1.?此博客停止更新
2.?Adboe Reader提示中文字體有問(wèn)題
3.?Python字符串換行處理
4.?如何轉(zhuǎn)換^M行末符號(hào)
5.?斯坦福大學(xué)開(kāi)放課程--編程范式(四)
最新評(píng)論
1.?re: Git Stash用法[未登錄](méi)
@陳梓瀚(vczh)
人稱輪帶逛!!!
--q
2.?re: Git Stash用法
@Loaden
這個(gè)B裝的好
--doubi
3.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
哦啦啦啦啦
--阿里河
4.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
希望能添加更新后的功能翻譯
--Vi.Ci
5.?re: Chrome神器Vimium快捷鍵學(xué)習(xí)記錄
@coolbit
謝謝,學(xué)會(huì)了
--xin
閱讀排行榜
1.?Git Stash用法(300799)
2.?Chrome神器Vimium快捷鍵學(xué)習(xí)記錄(67588)
3.?GitHub使用簡(jiǎn)介(35375)
4.?Ubuntu下硬盤(pán)的自動(dòng)掛載(23801)
5.?Ubuntu更新包管理器失敗:Requires installation of untrusted packages問(wèn)題解決(18546)
評(píng)論排行榜
1.?【歡迎各位留言討論】C++中運(yùn)算符New的一個(gè)疑問(wèn)【新的問(wèn)題!】【各位繼續(xù)關(guān)注討論啊!】(23)
2.?Git Stash用法(21)
3.?Chrome神器Vimium快捷鍵學(xué)習(xí)記錄(19)
4.?C++友元的一個(gè)問(wèn)題-----------由派生類訪問(wèn)基類的私有成員(10)
5.?OpenCV學(xué)習(xí)筆記(一)(7)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 deercoder
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美视频一区二区三区…
|
欧美成人免费一级人片100
|
亚洲免费在线观看视频
|
你懂的视频一区二区
|
欧美乱人伦中文字幕在线
|
一色屋精品视频在线观看网站
|
一区二区三区视频免费在线观看
|
久久先锋影音av
|
亚洲午夜免费视频
|
亚洲乱码视频
|
亚洲激情av
|
99国产精品国产精品毛片
|
欧美成人免费全部观看天天性色
|
国产一区二区三区久久精品
|
久久免费视频在线
|
先锋影音网一区二区
|
国产伦精品一区二区三区视频孕妇
|
亚洲黄色影院
|
亚洲视频在线观看免费
|
国产一区二区三区精品欧美日韩一区二区三区
|
蜜桃av一区
|
亚洲欧洲日本在线
|
日韩午夜三级在线
|
欧美日韩国语
|
亚洲激情在线播放
|
国产精品一区二区欧美
|
久久国产视频网站
|
免费的成人av
|
欧美成人乱码一区二区三区
|
久久久久久久久久久久久女国产乱
|
亚洲伦理自拍
|
你懂的一区二区
|
久久国内精品视频
|
国产精品久久久久久久久久久久久久
|
欧美亚洲专区
|
国色天香一区二区
|
一区二区三区四区五区视频
|
午夜精品一区二区三区在线视
|
欧美午夜不卡
|
一区二区三区欧美亚洲
|
久久综合狠狠综合久久激情
|
欧美资源在线
|
狠狠色狠狠色综合日日91app
|
亚洲一区3d动漫同人无遮挡
|
亚洲欧美日韩精品一区二区
|
久久永久免费
|
欧美aaa级
|
最新日韩在线视频
|
亚洲欧美综合另类中字
|
美女网站久久
|
99国内精品久久
|
久久一区亚洲
|
亚洲精品久久久久久久久久久
|
国产精品永久免费在线
|
久久精品人人做人人综合
|
国产女精品视频网站免费
|
亚洲综合三区
|
久久在线视频
|
亚洲欧美成人一区二区三区
|
欧美高潮视频
|
欧美一区二区三区视频在线观看
|
欧美成人嫩草网站
|
日韩视频专区
|
国产日韩高清一区二区三区在线
|
日韩午夜剧场
|
欧美成人综合在线
|
欧美激情欧美狂野欧美精品
|
亚洲一区精彩视频
|
性久久久久久久
|
欧美有码视频
|
国产日韩欧美高清
|
欧美色中文字幕
|
欧美剧在线观看
|
久久久综合网站
|
牛牛影视久久网
|
亚洲欧美一区二区精品久久久
|
亚洲电影在线播放
|
99av国产精品欲麻豆
|
亚洲丰满在线
|
一区二区三区欧美日韩
|
欧美成黄导航
|
欧美在线视频播放
|
欧美一区二区三区的
|
99精品久久免费看蜜臀剧情介绍
|
国产亚洲精品aa
|
欧美日韩国产麻豆
|
蜜桃av一区
|
国产午夜精品一区理论片飘花
|
欧美日韩mp4
|
欧美日韩三级
|
黄色av日韩
|
韩国三级在线一区
|
国产精品扒开腿做爽爽爽视频
|
国产精品久久网
|
一区二区av在线
|
久久久久久久久久码影片
|
美女诱惑黄网站一区
|
免费影视亚洲
|
亚洲视频视频在线
|
国产精品丝袜白浆摸在线
|
国产精品揄拍一区二区
|
国产日本欧美一区二区三区在线
|
亚洲精品在线一区二区
|
亚洲在线一区二区三区
|
最新国产成人在线观看
|
亚洲欧美国产视频
|
欧美视频日韩视频
|
亚洲欧洲一区二区天堂久久
|
野花国产精品入口
|
欧美国产大片
|
亚洲一区日韩在线
|
欧美理论电影网
|
久久一本综合频道
|
亚洲视频成人
|
美女在线一区二区
|
亚洲美女网站
|
日韩亚洲在线观看
|
欧美裸体一区二区三区
|
亚洲精品在线电影
|
亚洲欧美韩国
|
欧美日韩另类在线
|
一区二区三区黄色
|
午夜精品99久久免费
|
国产精品海角社区在线观看
|
在线视频日韩精品
|
一区二区国产日产
|
久久综合亚洲社区
|
一区二区三区日韩在线观看
|
久久高清免费观看
|
亚洲人在线视频
|
亚洲精选国产
|
国产亚洲欧美另类中文
|
久久久亚洲午夜电影
|
免费视频亚洲
|
久久精品成人一区二区三区蜜臀
|
欧美午夜电影一区
|
亚洲理伦电影
|
亚洲在线视频一区
|
日韩一区二区精品视频
|
欧美专区福利在线
|
亚洲人成人一区二区三区
|
国产精品99久久不卡二区
|
亚洲精品综合精品自拍
|
香蕉久久a毛片
|
性久久久久久久久久久久
|
蜜桃av综合
|
99re热精品
|
免费视频最近日韩
|
噜噜噜久久亚洲精品国产品小说
|
国产精品海角社区在线观看
|
久久久青草婷婷精品综合日韩
|
欧美视频在线观看 亚洲欧
|
欧美成年人视频
|
亚洲精品影院
|
久久riav二区三区
|
精品动漫3d一区二区三区免费版
|
国内精品久久久久影院优
|
亚洲高清在线
|
国产精品色婷婷久久58
|
亚洲午夜免费福利视频
|
欧美在线免费视频
|
国产色爱av资源综合区
|
午夜精品国产
|
欧美韩国一区
|
日韩亚洲在线
|
欧美区在线播放
|
久久久久久高潮国产精品视
|
免费在线播放第一区高清av
|
亚洲欧美精品
|
国产欧美一区二区视频
|
久久久久久久久久码影片
|
99re66热这里只有精品3直播
|
亚洲尤物在线视频观看
|
国产精品天天看
|
香蕉久久国产
|
免费成人在线观看视频
|
午夜在线观看欧美
|
亚洲一区二区欧美日韩
|
韩国成人精品a∨在线观看
|
久久在线视频
|
另类激情亚洲
|
久久亚洲二区
|
久久成年人视频
|
日韩一级精品
|
精品成人一区二区三区
|
欧美视频1区
|
欧美激情一区二区三区成人
|
中国成人黄色视屏
|
亚洲乱码精品一二三四区日韩在线
|
亚洲国产成人精品久久
|
国产欧美欧美
|
国产偷自视频区视频一区二区
|
国产精品亚洲综合久久
|
国产人成精品一区二区三
|
欧美日韩亚洲天堂
|
国产精品视频免费
|
国产精品超碰97尤物18
|
欧美日韩精品高清
|
国产美女诱惑一区二区
|
国产午夜精品理论片a级大结局
|