原创 #每日一題# 2016騰訊筆試題之一

       最長迴文子序列      題目大概的意思是這樣:例如:cabbeaf:迴文子序列有:c,a,aa,bb,aba,abba,e,f,最長的就是abba,所以輸出長度爲4        該題目可以轉換爲該字符串和它反轉的字符串的

原创 面試題之實現3^100次方和大整數的相乘

   今天則主要和大家來說一下如何利用數組來存儲大數據,我們先來看第一個小的算法,實現3^100次方:  具體代碼如下:  #include <stdio.h> #include <stdlib.h> #include <strings.

原创 c++類中的六種默認函數

    今天和大家要說的就是c++類中的六大默認函數,這些函數的調用是不由用戶給出的,系統自動完成調用,這六種分別是:         <1> 構造函數         <2>拷貝函數         <3>賦值運算         <4

原创 STL之空間配置器

    衆所周知,STL中的空間配置器分爲一級空間配置器和二級配置器。第一級配置器以malloc( ),free(),realloc()等C函數執行實際的內存配置、釋放、重配置操作,並實際出類似C++  new-handler的機制。  

原创 模板類中重載操作符

    在模板類中輸入流">>"和輸出流"<<"的重載,若使用友元在類內聲明,在類外實現,那麼連接時會報錯。我們可以採用以下三種方式來實現輸出流"<<"和輸入流">>"的重載。      《一》將輸出流"<<"和輸入流“>>”重載的實現寫

原创 boost庫----->dynamic_bitset的學習

     c++標準爲處理二進制數值提供了兩個工具:vector<bool>和bitset。      vector<bool>是對元素類型爲bool的vector特化,它的內部並不真正存儲bool值,而是以bit來壓縮保存、使用代理技術

原创 boost庫------>unordered_set(散列容器)

    散列容器(hash container)是一種非常重要的容器類型,它通常比二叉樹的存儲方式可以提供更高的訪問效率。因爲散列容器是無序的,因此不需要容器提供operator<,而是使用散列函數和鍵值比較的operator==,比標準

原创 I/O複用:epoll函數

    epoll函數是Linux特有的I/O複用函數。它在實現和使用上與select、poll有很大的差異。首先,epoll函數使用一組函數來完成任務,而不是單個函數。其次,epoll把用戶關心的文件符上的事件放在內核裏的一個事件表中,

原创 程序人生

   擱置快兩年的博客從今天開始要重新拾起,這兩年過得甚是辛苦,經歷了考研失敗、科三考了三次都沒過、六級直到畢業也沒有過,正如歌詞中說的一樣,得不到的永遠在騷動,第一次考研失敗後,毅然決然選擇二戰,在現在看

原创 三組I/O複用函數的比較

     前面我們討論了select、poll和epoll三組I/O複用系統調用,這三組系統調用都能同時監聽多個文件描述符。它們將等待由timeout參數指定的超時時間,直到一個或多個文件描述符上有事件發生時返回,返回值是就緒的文件描述符

原创 IO複用:select函數

IO模型: (1)阻塞式IO模型:          最流行的I/O模型是阻塞式I/O模型,默認情況下,所有的套接字都是阻塞的。 如上圖所示,進程調用recvfrom,其系統調用直到數據報到達且被複制到應用進程的緩衝區中或發生錯誤才返回

原创 ping程序剖析

   在剖析ping之前我們先補充一點知識。。。     (1)結構體addinfo      頭文件:#include<netdb.h>     struct addrinfo     {            int  ai_flag

原创 traceroute程序剖析

    traceroute允許我們確定IP數據報從本地主機遊歷到某個遠程主機所經過的路徑。     我們先來說明tranceroute的工作原理:是IP路由過程中對數據包TTL(Time to Live,存活時間)的處理。當路由器收到一

原创 基本的TCP套接字編程

上圖基本展示了TCP客戶端與服務器編程的基本的流程。 1、面向連接編程(TCP) 面向連接的網絡應用程序開發流程比較固定,需要開發者創建服務器與客戶端兩個應用程序,通過網絡是想進程間的通訊。 ●     服務器端流程 1   

原创 IO複用:poll函數

   poll提供的功能與select函數類似,不過在處理流設備時,它能夠提供額外的信息 。    #include<poll.h>    int  poll(struct pollfd *fdarray,unsigned long nf