內存空間分配(C++)
摘要: 在C++中,內存分成5個區,他們分別是堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區。
棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變量的存儲區。里面的變量通常是局部變量、函數參數等。
堆,就是那些由new分配的內存塊,他們的釋放編譯器不去管,由我們的應用程序去控制,一般一個new就要對應一個delete。如果程序員沒有釋放掉,那么在程序結束后,操作系統會自動回收。
……
閱讀全文
抽象數據類型ADT
摘要: (Abstract Data Type 簡稱ADT)
是指一個數學模型以及定義在此數學模型上的一組操作。
抽象數據類型需要通過固有數據類型(高級編程語言中已實現的數據類型)來實現。
……
閱讀全文
虛析構函數(C++)
摘要: 我們知道,用C++開發的時候,用來做基類的類的析構函數一般都是虛函數。可是,為什么要這樣做呢?下面用一個小例子來說明:
有下面的兩個類:
class ClxBase
{
public:
……
閱讀全文
Hash
摘要: Hashing定義了一種將字符組成的字符串轉換為固定長度(一般是更短長度)的數值或索引值的方法,稱為散列法,也叫哈希法。由于通過更短的哈希值比用原始值進行數據庫搜索更快,這種方法一般用來在數據庫中建立索引并進行搜索,同時還用在各種解密算法中。
設所有可能出現的關鍵字集合記為U(簡稱全集)。實際發生(即實際存儲)的關鍵字集合記為K(|K|比|U|小得多)。|K|是集合K中元素的個數。
散列方法是使用函數hash將U映射到表T[0..m-1]的下標上(m=O(|U|))。這樣以U中關鍵字為自變量,以h為函數的運算結果就是相應結點的存儲地址。從而達到在O(1)時間內就可完成查找。
……
閱讀全文
auto_ptr(C++)
摘要: 很多人聽說過標準auto_ptr智能指針機制,但并不是每個人都天天使用它。這真是個遺憾,因為auto_ptr優雅地解決了C++設計和編碼中常見的問題,正確地使用它可以生成健壯的代碼。本文闡述了如何正確運用auto_ptr來讓你的代碼更加安全——以及如何避免對auto_ptr危險但常見的誤用,這些誤用會引發間斷性發作、難以診斷的bug。
……
閱讀全文
Unix和Windows服務器區別
摘要: 小型機說了很多年,PC服務器也是大家比較熟悉的,他們區別還是非常大的,UNIX跟PC服務器的CPU不同,最簡單臺式機、筆記本用的CPU Intel的奔騰等非常清楚。但是提小型機處理器的名字都搞不清楚,現在他們用的CPU處理器都叫RISC處理器,常見的Intel包括AMD都是CISC處理器,那RISC跟CISC有什么區別,RISC是精簡指令集計算機,CISC是復雜指令計算機。RISC技術是IBM一個研究院在1974年發明的,IBM對計算機研究非常深入,在70年代就發現我們能夠用20%的指令就可以完成80%的工作,并且這20%的指令都是非常簡單和基礎的指令。如果要另外完成20%工作需要非常復雜的指令,如果要在CPU里面實現指令,就導致CPU非常復雜,這個機器效率非常低,所以這就導致RISC技術的產生,RISC技術改寫了計算機發展的歷程。技術產生導致RISC System/6000的誕生。
……
閱讀全文
TCP和UDP的區別
摘要: 一、什么是TCP和UDP
TCP和UDP是TCP/IP協議中的兩個傳輸層協議,它們使用IP路由功能把數據包發送到目的地,從而為應用程序及應用層協議(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供網絡服務。TCP提供的是面向連接的、可靠的數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸。面向連接的協議在任何數據傳輸前就建立好了點到點的連接。ATM和幀中繼是面向連接的協議,但它們工作在數據鏈路層,而不是在傳輸層。普通的音頻電話也是面向連接的。
……
閱讀全文
Templete(C++)
摘要: 一、什么是模板
模板是根據參數類型生成函數和類的機制(有時稱為“參數決定類型”)。通過使用模板,可以只設計一個類來處理多種類型的數據,而不必為每一種類型分別創建類。
例如,創建一個類型安全函數來返回兩個參數中較小的一個,如果不使用Templates,必須要編寫一系列如下的函數:
……
閱讀全文
進程和線程
摘要: 一、
現代的操作系統都可以有多個進程,而每一個進程都可以有多個線程;同一進程中的線程之間共享同一塊存儲空間,所以都可以訪問同一個全程變量等,而進程之間要通訊需要使用共享內存等手段。對操作系統來說,進程的開銷大,而線程則小得多。
關于進程較實質的定義﹕
1. 進程是程序的一次執行;
2. 進程是可以和別的計算器并發執行的計算;
……
閱讀全文
敏捷開發簡介
摘要: ASD:Agile Software Development——敏捷軟件開發
1、什么是敏捷軟件開發?
敏捷軟件開發是一個概念意義上的框架,用來取代軟件工程項目的概念;它強調在項目的整個生命周期中,擁抱并促進由于軟件進化式的發展所帶來的變化。
請注意其中的三個關鍵詞:
……
閱讀全文
web游戲制作過程詳細介紹
摘要: 一、游戲制作的主要流程
電腦游戲開發小組中的任何一個人(這個角色通常有策劃擔任),只要有了一個新的想法或念頭,就孕育著一個新游戲的誕生。在這個創意被充分討論之后,再加上對其操作過程的趣味性及市場銷售的可行性的預測等因素的準確判斷,一個完整的策劃方案才可能產生。在經過充分的討論后,策劃人員必須將討論的重點寫成文字,也就是提出完整的策劃方案,經
……
閱讀全文
iterator中的前++和后++(C++)
摘要: for(iterator it = begin(); it != end(); ++it)
或者
for(iterator it = begin(); it != end(); it++)
區別是什么呢??
……
閱讀全文
游戲開發使用何種語言
摘要: 目錄:
1、C語言
2、C++
3、C++與C的抉擇
4、匯編語言
5、Pascal語言
6、Visual Basic
7、Java
8、創作工具
9、結論
……
閱讀全文
Object-Oriented Analysis 優點
摘要: Object-Oriented Analysis 優點
--------說法一:
1、維護簡單。
模塊化是面向對象編程中的一個特征。實體被表示為類和同一名字空間中具有相同功能的類,我們可以在名字空間中添加一個類而不會影響該名字空間的其他成員。
……
閱讀全文
操作系統中斷
摘要: 1、中斷的類型。
從中斷事件的性質出發,中斷可以分為兩大類:
強迫性中斷事件:包括硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷等。
……
閱讀全文
子網掩碼計算
摘要: IP地址=網絡號 連接 主機號,當需要子網劃分時,主機號高位部分會作為子網號,從而減少主機數目。
IP分類:(A、B、C比較常用)
A類
……
閱讀全文
測試用例的作用
摘要: 1. 你工作不主動,你需要測試用例來催著你去工作;
2. 你測試時總感覺思維很混亂,或者總感覺有些功能沒有測到,而一些功能已經測過好幾遍了,這樣測試用例能夠幫你理清頭緒,進行比較系統的測試,不會有太多的重復,也不會讓你的測試工作產生遺漏;
……
閱讀全文
轉載-微軟筆試題目
摘要: 一、選擇題
主要的知識點:
1、臨界變量critical section的概念(還有semaphore,thread類似的這些)。
2、存儲器cache寫穿透和寫返回的概念(復習一下高體的cache)。
……
閱讀全文
智力測試題目
摘要: 說謊國與誠實國:
詢問誠實國的路,只需要問任意一個人“你的國家怎么走”,則他們所指的路都是誠實國的路。
12個球一個天平,現知道只有一個和其它的重量不同,問怎樣稱才能用三次就找到那個球
……
閱讀全文
小百科
摘要: 【四大名繡】蘇繡〖蘇州〗、湘繡〖湖南〗、蜀繡〖四川〗、廣繡〖廣東〗
【四大名扇】檀香扇〖江蘇〗、火畫扇〖廣東〗、竹絲扇〖四川〗、綾絹扇〖浙江〗
【四大名花】牡丹〖山東菏澤〗、水仙〖福建漳州〗、菊花〖浙江杭州〗、山茶〖云南昆明〗
……
閱讀全文
美語口頭語
摘要: Thousand times no! 絕對辦不到!
Don't mention it. 沒關系,別客氣。
Who knows! 天曉得!
……
閱讀全文
天津俗語
摘要: 掃盲用~
1、 上亮子
特指門上方的玻璃窗。(不知其他地方的人對這一物件有沒有特定的叫法)
……
閱讀全文
[2008年10月22日]揚訊筆試和群碩面試
摘要: 2008年10月22日,是我很難忘記的一天。本來昨天應該寫好這篇文章,但是實在太累了,就沒有寫。等到今天想寫寫昨天的事情,竟然腦子里的東西變得很雜亂。仔細回想一下,昨天引導我一天經歷的是……地鐵。
早上快9點出門,到食堂買早飯
……
閱讀全文
[2008年10月24日]忙碌的一天啊
摘要: 今天從早上到下午,一共收到3個通知,有維塔士的筆試通知、久游的面試通知和騰訊的筆試通知。
早上睡夢中被電話驚醒,看到來電號碼是座機,而且不是熟人,就知道有好消息來了。接聽了電話,原來是維塔士公司找我下周三去筆試,電話那邊的工作人員問了問我從什么地方得知的維塔士,然后告訴我當天
……
閱讀全文
[2008年10月19日]群碩筆試
摘要: 群碩在張江浦東軟件園,第一次去張江,人生地不熟,自己又是不辨東西南北的路盲~~ 還好我一貫冷靜,再加上王MM的包上有個指南針!看了看張江地鐵站門口的地圖,記住幾個重要的道路名稱,我就出發了。這一躺真叫一個遠!去的時候
……
閱讀全文
做人
摘要: 1、說話要用腦子,敏事慎言,話多無益。講話不要只顧一時痛快,信口開河,以為人家給你笑臉就是欣賞,沒完沒了把掏心窩子的話都講出來,結果讓人家徹底摸清了家底,還偷著笑你。
2、遇事不要急于下結論,即便有了答案也要等等,也許有更好的解決方式,站在不同的角度就有不同答案,要學會換位思維,特別是在遇到麻煩的時候,千萬要學會等一等、靠一靠。
……
閱讀全文
12種貌似衛生的不衛生習慣
摘要: 生活中有一些習慣,貌似衛生,實際上并不衛生,不僅不能保證身體健康,反而對身體有害。
1.白紙用于包食品
為了白紙的“白”,許多廠家在生產過程中往往使用漂白劑,而漂白劑在與食品接觸后,會引起一系列化學反應,產生一些有害物質,極易對食品造成污染。
2.衛生紙擦拭餐具、水果
……
閱讀全文
面試或筆試題目要點(Java)
摘要: 1.Java有那些基本數據類型,String是不是基本數據類型,他們有何區別。字符型,數值型,布爾型
2.字符串的操作:
寫一個方法,實現字符串的反轉,如:輸入abc,輸出cba
寫一個方法,實現字符串的替換,如:輸入bbbwlirbbb,輸出bbbhhtccc。
……
閱讀全文
== 與 equals 的區別(Java)
摘要: 在比較字符型數據時,==比較的是內存中的地址,比較的是對象的句柄;而equals()比較的是地址內的內容,比較的是對象。由于JAVA中除基本數據類型外其它一切都是對象,而對象變量存儲的都是引用,相當于C中的指針,所以在比較對象時如String,用==是比較兩個變量是否指向同一個對象,而用equals才是比較兩個String的內容是否相等。
==絕對比equals快。
……
閱讀全文
棧內存與堆內存(Java)
摘要: Java把內存劃分成兩種:一種是棧內存,一種是堆內存。
在函數中定義的一些基本類型的變量和對象的引用變量都在函數的棧內存中分配。當在一段代碼塊定義一個變量時,Java就在棧中為這個變量分配內存空間,當超過變量的作用域后,Java會自動釋放掉為該變量所分配的內存空間,該內存空間可以立即被另作他用。
……
閱讀全文
質數判斷算法
摘要: 有人做過這樣的驗算:1^2+1+41=43,2^2+2+41=47,3^2+3+41=53……于是就可以有這樣一個公式:設一正數為n,則n^2+n+41的值一定是一個質數。這個式子一直到n=39時,都是成立的。但n=40時,其式子就不成立了,因為40^2+40+41=1681=41*41。
研究發現質數除2以外都是奇數,而奇數除了【奇數*奇數】(或再加“*奇數”)都是質數。那么用計算機先把【奇數*奇數】(或再加“*奇數”)(比如9,15,21,25,27,33,35,39……)都求出來,再找奇數中上面沒提到的那些數,那些數就是素數。
有近似公式: x 以內質數個數約等于 x / ln(x) .ln是自然對數的意思。準確的質數公式尚未給出。10 以內共 4 個質數。100 以內共 25 個質數。
……
閱讀全文
計算二進制位"1"的個數
摘要: 寫一個函數,返回數字中二進制位為'1'的個數。
方法1:分別判斷各個位
方法2:循環中直接計算1的數量
方法3:并行計算的
PS:
這些方法是計算二進制形式1的個數,如果用來判斷一個數是否是2的整數次冪,可以用這些方法,但是對此還有更好的方法,就是 A xor (A-1) == 0。
閱讀全文
01背包問題的貪婪算法
摘要: 0/1背包問題有好幾種貪婪策略,每個貪婪策略都采用多步過程來完成背包的裝入,在每一步過程中利用貪婪準則選擇一個物品裝入背包。
1、從剩余的物品中,選出可以裝入背包的價值最大的物品。利用這種規則,價值最大的物品首先被裝入(假設有足夠容量),然后是下一個價值最大的物品,如此繼續下去。這種策略不能保證得到最優解。例如,n=2, weight=[100, 10, 10], prize=[20, 15, 15], count=105。當利用價值貪婪準則時,獲得的解為x= [1, 0, 0],這種方案的總價值為20。而最優解為[0, 1, 1],其總價值為30。
……
閱讀全文