原创 使用lambda輸出容器元素

頭文件 iterator algorithm copy(ivec.begin(), ivec.end(), std::ostream_iterator<string>(std::cout, " "));

原创 模板類中包含模板類友元和其他友元函數

發表一點自己對 《C++ Primer 5th》模板那塊的理解, 歡迎指正 一對一友好關係 在類模板與另一個模板(模板類或模板函數)間建立對應實例及其友好關係,爲了在類模板中引用另一個類模板或函數的一個特定實例,必須先聲明另一個模

原创 C++中的可調用對象

c++中的可調用對象有以下幾種: 函數 函數指針 bind創建的對象 lambda表達式 重載函數調用運算符的類 函數對象 都可以在使用算法時作爲謂詞來調用 lambda表達式 [capture list] (paramet

原创 一、數據庫系統概述

一、數據庫系統概述 DBMS的主要特性 數據訪問的高效和可擴展性 縮短應用開發時間 數據獨立性(物理數據獨立性/邏輯數據獨立性) 數據完整性和安全性 併發訪問和魯棒性(恢復) 文件系統的不足 數據冗餘和不一致 多種文件格

原创 CS-APP CP2 信息的表示和處理

CS:APP CP2 信息的表示和處理 數據的機器表示 大端法: 高位在前 小段法: 低位在前 C語言的移位操作 左移:直接左移右邊補0 算數右移:右移時左邊補最高位 邏輯右移:右移時左邊補0 操作 值 x

原创 二、數據庫系統結構

數據庫系統結構與演變 數據庫系統標準結構 DBMS管理數據的三個層次 用戶層:某一用戶能夠看到與處理的數據,全局數據中的某一部分 邏輯層:全局角度理解/管理的數據,含相應的關聯約束 物理層:存儲在介質上的數據,含存儲路徑、存

原创 TCP擁塞控制

建立TCP連接的雙方都維護着一個緩衝區, 當緩衝區滿了的時候再接收數據會造成溢出, 就會丟棄數據. 因此, 爲了消除這種現象, TCP提供了流量控制服務. 另外, 由於網絡帶寬等因素的限制, 發送方發出的數據並不能總是順利地到達

原创 LINK2005錯誤

錯誤一: 在頭文件中,類外面定義成員函數沒有加 inline 關鍵字 並且在 .CPP 文件中包含了頭文件。 Query.h class Query { public: Query(const std::string&

原创 一個web請求的艱辛歷程

從鏈路層開始來探索一個主機接入網絡後進行一個web請求的過程(計算機網絡:自頂向下方法)假定下面是有關的網絡拓撲鏈路層階段如上圖所示, 假定Bob用他的主機接入到學校的以太網, 連接到一個以太網交換機, 該交換機同時連接到學校網絡出口路

原创 數據鏈路層

數據鏈路層 標籤(空格分隔): 鏈路層 一、鏈路層概述 運行鏈路層協議的設備稱爲結點,相鄰結點間的通信信道稱爲鏈路,數據被封裝在鏈路層幀中. 鏈路層提供的服務 成幀(framing) 鏈路接入 媒體訪問控制(Medium Ac

原创 數據鏈路層

數據鏈路層 一、鏈路層概述 運行鏈路層協議的設備稱爲結點,相鄰結點間的通信信道稱爲鏈路,數據被封裝在鏈路層幀中. 鏈路層提供的服務 成幀(framing) 鏈路接入 媒體訪問控制(Medium Access Control,M

原创 成員訪問(->)操作符的重載

源地址:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28662931&id=3498450 (參考了C++primer)       箭頭(->)操作符,看起來很像二

原创 一個典型的DHCP(動態主機配置協議)服務過程

先決條件, 子網中必須有一臺或者多態DHCP服務器正在運行。 當一個主機介入子網, 欲獲取一個IP地址, 分別以 0.0.0.0 和 255.255.255.255 作爲源和目的IP地址廣播DHCP發現報文(UDP), 發送端口

原创 參數綁定bind

bind函數 定義在頭文件functional中 當某算法只接受單一參數,而我們需要多個參數來解決問題時要用到參數綁定。 如: 假如我們想找到容器中string長度大於5的元素時定義一個比較函數: bool check_siz

原创 將重載運算符定義爲成員函數還是普通的非成員函數

● 賦值 = 、下標[ ]、調用( )、和成員訪問箭頭 ->必須是成員函數 ● 複合賦值運算符應該是成員,但是並非必須 ● 改變對象狀態的運算符或者與給定類型密切相關的運算符,如 遞增、遞減和解引用運算符應該