原创 C++模板:究竟什麼是特化?

我已經制定了一個計劃,希望可以定期地在博客上更新文章。我將探討編譯器如何處理模板等這類有意思的事情,並佐以實例。 作爲一個編譯器開發人員,我傾向於用一些小的例子來顯示或者測試編譯器是如何工作的,而不是來指導你如何在一個應用程序中使

原创 《劍指offer》-把字符串轉換成整數

題目描述 將一個字符串轉換成一個整數,要求不能使用字符串轉換整數的庫函數。 解法: 1.判斷字符串指針是否爲NULL,字符串是否爲空“\0” 2.判斷第一個正、負號 3.進行循環判斷,核心轉換就是字符-‘0’就是數字了,然

原创 《劍指offer》-不用加減乘除做加法

題目描述 寫一個函數,求兩個整數之和,要求在函數體內不得使用+、-、*、/四則運算符號。 解法: 1.兩個數進行按位異或,那麼結果就是不含進位的加法值 2.將兩個數進行按位相與,再向左移動一位,那麼結果就是兩個數相加產生和的

原创 802.1Q VLAN 技術原理---理解PVID和VID

802.1Q VLAN 技術原理 在數據通信和寬帶接入設備裏,只要涉及到二層技術的,就會遇到VLAN。而且,通常情況下,VLAN在這些設備中是基本功能。所以不管是剛邁進這個行業的新生,還是已經在這個行業打拼了很多年的前輩,都要熟悉這個

原创 《劍指offer》-孩子們的遊戲(圓圈中最後剩下的數)

題目描述 0,1,2.....n-1這n個數字排成一個圈,從數字0開始每次從圓圈裏刪除第m個數(從1開始計數)。求出這個圓圈最後剩下的數字。 解法: 1.構建一個鏈表用來存儲這些數字,很明顯可以用STL裏面的容器list進行存

原创 手把手教你---進程資源分配

一 瞭解進程資源圖 Markdown編輯器用的還不是太熟,表格中插入圖片這事還沒學會,糾結着在Word中總結了下,然後截個圖放在下面供大家參考: (左邊是p2,右邊是p1) 二 化簡資源分配圖 方法步驟 第一步:先看系統還剩下

原创 C++空類編譯器自動生成的6個成員函數

一、問題        在C++中,編譯器會爲空類提供哪些默認成員函數?分別有什麼樣的功能呢?  二、詳解 1、空類,聲明時編譯器不會生成任何成員函數         對於空類,編譯器不會生成任何的成員函數,只會生成1個字節的佔

原创 【python】批量掃描IP地址80/8080端口

主要是在實習當中用到的IP端口掃描的一個操作,python語言,輸出到txt文檔中,同時顯示在dos輸出窗口上。 代碼: 文件名:port_scan.py #!/usr/bin/env python import socket def

原创 《劍指offer》-刪除鏈表中重複的結點

題目描述 在一個排序的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留,返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理後爲 1->2->5 解法: 1.設置3個指針,一個是當前p,一個是

原创 《劍指offer》-求1+2+3+...+n

題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 解法: 1.利用c++構造對象數組機制,構造上n個對象,這樣構造函數就會

原创 《劍指offer》-撲克牌順子

題目描述 從撲克牌中隨機抽取5張,判斷是不是一個順子。2-10爲數字本身,A爲1,J爲11,Q爲12,K爲13,而大小王可以爲任何數字。 解法: 1.關鍵思想就是把大小王看成0,而0又可以當做任何數字 2.首先判斷出5個牌裏

原创 《劍指offer》-構建乘積數組

題目描述 給定一個數組A[0,1,...,n-1],請構建一個數組B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 解法: 方法

原创 《劍指offer》-正則表達式匹配

題目描述 請實現一個函數用來匹配包括'.'和'*'的正則表達式。模式中的字符'.'表示任意一個字符,而'*'表示它前面的字符可以出現任意次(包含0次)。 在本題中,匹配是指字符串的所有字符匹配整個模式。例如,字符串"aaa"與模式"a

原创 通過使用VSRS3.5+opencv2.4.9進行深度圖和彩色圖的虛擬視點繪製

通過使用VSRS3.5+opencv2.4.9進行深度圖和彩色圖的虛擬視點繪製:          以下是關鍵步驟,爲要做3D虛擬視點繪製的同學開啓第一扇門。           我個人使用的visual studio2013,V

原创 《劍指offer》-表示數值的字符串

題目描述 請實現一個函數用來判斷字符串是否表示數值(包括整數和小數)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"