原创 C++筆試題1

1.在32位機器中,如下代碼的輸出是: void example(char acWelcome[]){ printf("%d",sizeof(acWelcome)); return; } void main(){

原创 c++學習之類繼承

注:本文章僅供個人複習使用。 本章內容包括: is-a關係的繼承 如何以公有的方式從一個類派生出另一個類 保護訪問 構造函數成員和初始化列表 向上和向下強制轉換 虛擬成員函數 靜態聯編與動態聯編 抽象基類 純虛函數 何時以及

原创 TCP三次握手(建立連接)與四次揮手(釋放連接)詳解

上圖畫出了TCP的建立連接的過程。假定主機A運行的是TCP客戶程序,而B運行TCP服務程序。最初兩端的TCP進程都處於 CLOSED(關閉)狀態。圖中在主機下面的方框分別是TCP進程所處的狀態。請注意,A主動打開連接,而B被動打

原创 基於TCP與UDP的windows網絡編程

一、網絡字節順序與主機字節順序 不同的計算機存放多字節值的順序不同,有的機器在起始地址存放低位字節(低位先存),有的機器在起始地址存放高位字節(高位先存)。基於 Inter 的 CPU ,即使我們常用的 PC 機採用的是低位先存。

原创 計算機網絡運輸層重要概念

運輸層提供應用層進程間的邏輯通信,也就是說,運輸層之間的通信並不是真正在兩個運輸層之間直接傳輸數據。運輸層應用層屏蔽了下面網絡的細節(如網絡拓撲、所採用的路由選擇協議等),它使應用層看見的好像是在兩個運輸層之間有一條端到端的邏輯

原创 內存管理

本章主要學習目標: 討論內存管理的主要需求 理解內存分區的原因並解釋所使用的各種技術 理解並解釋分頁的概念 理解並解釋分段的概念 分區和分段的區別 一、內存管理的需求 重定位(把內存換出後再換入,放入內存的其他區域) 保護(

原创 虛擬內存之頁面置換算法

四種頁面置換算法: 最佳(OPT,Optional) 最近最少使用(LRU,Least Recently Used) 先進先出(FIFO,First In First Out) 時鐘(Clock) 一、最佳置換算法 OPT 策

原创 類型轉換操作符

C++有更嚴格的限制允許的類型轉換,並添加4個類型轉換操作符,使轉換過程更規範: dynamic_cast; const_cast; static_cast; reinterpret_cast。 可以根據目的選擇一個適合的操作

原创 單處理器調度算法

一.什麼是調度? 調度就是從就緒隊列中挑選下一個佔用 CPU 運行的進程。 調度分爲:長程調度、中程調度、短程調度和 I/O 調度。 本文主要講解短程調度。 二.爲什麼要進行進程調度? 正在執行的進程正確完成,或由於某種錯誤而

原创 C++中 虛函數中的默認參數問題

原文轉自nwplei的博客 當通過指針調用一個對象的方法時,如果該方法是虛函數,則實際調用的是該實例的方法。 當缺省參數和虛函數一起出現的時候到底用哪個默認值呢?虛函數是動態綁定的,但是爲了執行效率,缺省參數是靜態綁定的。 也

原创 STL vector用法介紹

介紹 這篇文章的目的是爲了介紹std::vector,如何恰當地使用它們的成員函數等操作。本文中還討論了條件函數和函數指針在迭代算法中使用,如在remove_if()和for_each()中的使用。通過閱讀這篇文章讀者應該能夠有效地使

原创 c++類和動態內存分配複習題

1.假設String類有如下私有成員: class String { private: char *str; int len; //... }; 請說出下面的構造函數有什麼問題。 a. String::

原创 類繼承複習題

1.派生類從基類那裏繼承了什麼? 答:基類的公有成員成爲派生類的公有成員。基類的保護成員成爲派生類的保護成員。基類的私有成員被繼承,但不能直接被訪問,可以通過基類的公有成員函數來訪問。 2.派生類不能從基類那裏繼承什麼? 答

原创 C++筆試題

1.下面代碼的輸出是什麼? class A { public: A() { } ~A() { cout<<"~A"<<endl; } }; class B:public

原创 輸入輸出流狀態

1.流狀態 cin或cout對象包含一個描述流狀態(stream state)的數據成員(從ios_base那裏繼承的)。流狀態(被定義爲iostate類型,而iostate是一種bitmask類型)由3個ios_bae元素組成: