C++ 提供了“模板”這一特性, 可以將“類型” 參數(shù)化, 使得編寫的代碼更具有通用性。 因此大家都稱模板編程為 “通用編程”或 “泛型編程”。
一般而言, 模板分為 函數(shù)模板 和 類模板,下面就讓我們分別來了解一下它們。
閱讀全文
posted @ 2010-07-22 02:31 besterChen 閱讀(3625) | 評論 (7) 編輯 |
|
|||
C/C++/STL/boost基礎很重要 摘要: 當我們越來越多的使用C++的特性, 將越來越多的問題和事物抽象成對象時, 我們不難發(fā)現(xiàn):很多對象都具有共性。 比如 數(shù)值可以增加、減少;字符串也可以增加減少。 它們的動作是相似的, 只是對象的類型不同而已。
C++ 提供了“模板”這一特性, 可以將“類型” 參數(shù)化, 使得編寫的代碼更具有通用性。 因此大家都稱模板編程為 “通用編程”或 “泛型編程”。 一般而言, 模板分為 函數(shù)模板 和 類模板,下面就讓我們分別來了解一下它們。 閱讀全文 posted @ 2010-07-22 02:31 besterChen 閱讀(3625) | 評論 (7) 編輯 | 摘要: 調(diào)試程序,我想這個是每個程序員都必修的課程。Google了好久,貌似GCC環(huán)境下調(diào)試用的是gdb,還有個叫ddd的,但是貌似都不是很好用,在VIM環(huán)境下,由于VIM立志于做個專一的編輯器,所以有可能我得敲命令來調(diào)試程序了(雖然有vim有dbg的插件,但是在linux下可用,win下需要借助一些模擬linux環(huán)境的軟件,我不想借助這個)。習慣了VC調(diào)試器的我總覺得有點不自信。
現(xiàn)在還真的不知道該用什么調(diào)試好了,難不成用Ollydbg?貌似用Windbg也不錯,編譯的時候生成.pdb文件,然后用Windbg進行源碼調(diào)試,貌似這個是最佳的解決方案了吧。 我想先試試dbg這個命令行調(diào)試器怎么樣,然后來補全這個文章。現(xiàn)在先發(fā)出來占位,如果哪個朋友有更好的方法,希望能告知我。O(∩_∩)O謝謝。 現(xiàn)在我先把重點放到exVim的使用上面。 閱讀全文 posted @ 2010-06-01 03:21 besterChen 閱讀(1572) | 評論 (2) 編輯 | 摘要: 在上一小節(jié)中,我們大概的介紹了下如何創(chuàng)建工程以及簡要的提了下工程相關的幾個命令。相信很多朋友已經(jīng)對ExVim上手了,為了照顧像我一樣對linux和VIM一無所知的朋友,我將在這里講述工程的編譯方法(現(xiàn)在正在學Makefile的寫法)。
我覺得,Makefile雖然可以有好多工具可以生成,但是懂得Makefile的語法,自己能夠手工書寫并優(yōu)化Makefile的代碼是應該掌握的一種能力。 掌握了基本的Makefile的書寫以后,再掌握以下CMake的用法…… 現(xiàn)在先把文章發(fā)到這里占位,等我學會了,有一定心得了再過來補全。 閱讀全文 posted @ 2010-06-01 03:20 besterChen 閱讀(1394) | 評論 (0) 編輯 | 摘要: 當我們進一步研究類與對象的時候,難免的就要考慮到類本身的一些特點以及類與其它類之間的關系。在本專題開始之前,我們已經(jīng)接觸到像一個類對象作為另一個類成員的嵌套關系了。本專題,我們就專心的研究一下類與類之間的繼承關系和其類本身的特點。
我們知道,類與對象的概念是來自于對現(xiàn)實事物的模擬,就像孩子用于其父母的一些特征,不論是木桌還是石桌都有桌子的特點。同樣,類與類之間自然的也應該擁有這些特點的。而擁有這些特點就使得我們代碼更加結(jié)構(gòu)化,條理化,最大的好處則是:簡化我們的代碼,提高代碼的重用性。 好,不多廢話,先讓我們看看,這個專題大概要講些什么: 1、 體驗類的靜態(tài)多態(tài)性之重載 2、 構(gòu)建類與類之間的父子關系及其訪問限制 3、 體驗類的動態(tài)多態(tài)性之虛函數(shù) 4、 淺析類的多繼承 5、 學習小結(jié) 閱讀全文 posted @ 2010-05-20 22:13 besterChen 閱讀(3853) | 評論 (4) 編輯 | 摘要: 題目要求:
純C 、不準使用匯編,不準使用臨時變量(當然包括全局變量)實現(xiàn)一個strlen 函數(shù)。 就是說,可以利用的資源只有那個參數(shù),但是有個要求就是不許破壞原字符串。 我能想到的方法就是遞歸,所以我給出的答案是: 閱讀全文 posted @ 2010-04-23 23:45 besterChen 閱讀(2740) | 評論 (24) 編輯 | 摘要: 是啊,不可避免的,我們要學習指針了。關于指針的概念,我們已經(jīng)在第一章節(jié) 理解程序中的數(shù)據(jù) 課題中大概的介紹過了,我想它并不是一個很難的概念,如果對指針沒有任何一點概念的朋友可以試著百度一下,再看一下我們以前的章節(jié)。
之所以把指針放到現(xiàn)在來講,一方面是因為,到現(xiàn)在我們所學的知識,可以允許我把一個完整的指針及其相關的知識展現(xiàn)給大家而不需將一個知識點打亂到各個別的章節(jié)中;再一方面就是我們接下來的要學習的繼承、多態(tài)等特性剛好需要這方面的的知識,省的我們再回頭復習,當然,主要原因還是我沒有信心能將這個專題寫好。 是的,我們在管理內(nèi)存,管理一些數(shù)據(jù)結(jié)構(gòu)等等,很多情況都要使用指針,我們這個專題,就專門來討論下指針的問題。 讓我們再來回顧下,指針的一些概念。 閱讀全文 posted @ 2010-03-21 21:35 besterChen 閱讀(3147) | 評論 (5) 編輯 | 摘要: C++的階段,我想根據(jù)C++的一些特有的特性分別寫一些專題,每個專題我都捎帶講一些語法,當然不會很多,我還是會像C語言那樣,內(nèi)存結(jié)構(gòu)貫穿始終,有匯編就有真相……
本專題,我們講述封裝性。封裝性是C++的入門特性,要想學習C++語言,封裝性是首先要掌握的。下面我們進入正題: 閱讀全文 posted @ 2010-03-12 03:44 besterChen 閱讀(2870) | 評論 (1) 編輯 | 摘要: 在函數(shù)調(diào)用的時候,無論是參數(shù)為對象還是返回一個對象,都將產(chǎn)生一個臨時對象。這個筆記就是為了學習這個臨時對象的產(chǎn)生過程而寫。
本代碼的詳細例子見實例代碼Ex.01 Ok,先讓我們定義一個類 閱讀全文 posted @ 2010-02-09 21:17 besterChen 閱讀(1240) | 評論 (0) 編輯 | 摘要:
本來這一講是打算講指針的,可是考慮到C++中指針的更多操作,我不想講一個問題分成兩部分,因此,我就先講C++的部分,等需要用到指針的時候,我們專門寫一個專題講述指針部分。 好進入正題。 大家都知道,C++是在C的基礎上擴展了好多東西,其中好多是思想上的轉(zhuǎn)變,因此,很多C++中的東西,我們都可以用C語言來模擬出來,比如構(gòu)造、析構(gòu)等等。 但是也有很多是C++編譯器擴展的東西,我們沒有辦法用C去模擬,因此,我寫了這個小節(jié),重在理解…… 閱讀全文 posted @ 2010-02-08 06:31 besterChen 閱讀(967) | 評論 (2) 編輯 | 摘要: 以前總是對Static聲明的變量(函數(shù)),感到困惑,因為課本中寫的也比較模糊,弄的經(jīng)常搞不懂啥時候該用靜態(tài)變量。
課堂上,錢老師對這個問題做了比較透徹的講解,對這個問題相關的知識點總結(jié)如下: 閱讀全文 posted @ 2009-12-27 21:12 besterChen 閱讀(699) | 評論 (0) 編輯 | posted @ 2009-12-10 22:05 besterChen 閱讀(1474) | 評論 (3) 編輯 | 摘要: 來科銳上了4次課了,今天講了分支結(jié)構(gòu),錢老師詳細的講解了switch工作流程的幾種情況,由于我們都是新學員,還沒有開始學習匯編課程,因此沒有做詳細的分析。
今天這堂課給我感觸挺大的: 本來以為自己用OD調(diào)試過switch結(jié)構(gòu),以為對它十分理解了。結(jié)果按照錢老師講的,自己再次調(diào)試了一下switch,結(jié)果發(fā)現(xiàn)我以前是多么的不求甚解。 ╮(╯▽╰)╭~ 記錄這個筆記,算是給自己一個警示吧,以后學習的時候,不能浮躁…… 閱讀全文 posted @ 2009-12-07 00:26 besterChen 閱讀(2386) | 評論 (1) 編輯 | posted @ 2009-04-11 20:38 besterChen 閱讀(423) | 評論 (0) 編輯 | 摘要: [聲明] 本文轉(zhuǎn)載于VC知識庫:http://www.vckbase.com/document/viewdoc/?id=1656
一日心血來潮,想給啟動畫面來個淡入淡出,于是去谷歌(google)查了半天,無果。-_-b,但知道了AnimiateWindow 這個函數(shù)。好吧 ,讓我們開始吧^^。首先,請在需要淡入淡出窗口的cpp文件或者stdafx.h加入下列代碼(注意要加在#include前面哦,否則沒有作用哦)。 #undef WINVER //取消原有版本定義,重新定義版本#define WINVER 0x5000 //為了使AnimateWindow函數(shù)可用#include 然后在相關文件分別加入OnCreate,OnClose,OnEraseBkgnd和OnTimer消息函數(shù)。記得在相關構(gòu)析函數(shù)內(nèi)加入 : 閱讀全文 posted @ 2009-04-03 18:47 besterChen 閱讀(531) | 評論 (0) 編輯 | 摘要: 原帖:http://hi.baidu.com/ciw%5Fblue/blog/item/527fef260882db108b82a139.html
1.改進了 Invoke函數(shù) 現(xiàn)在可以支持全局字符串 但是在第3個參數(shù)必須指定類型 和 printf中的%s,%d相似 s或S為字符串 2.動態(tài)獲取Kernel32.dll,LoadLibrary,GetProcAddress地址 3.被感染的文件可以再感染 閱讀全文 posted @ 2009-03-30 17:25 besterChen 閱讀(700) | 評論 (0) 編輯 | 摘要: 以下內(nèi)容引用與 Pediy.com
1.Jmp stub Function 考慮以下函數(shù): Void Test(){} Void main() { test();} 在debug情況下,編譯后 Void Jmp_Test() { Jmp to Real_test(); } Void main() {jmp_test()} 如何讓編譯器不產(chǎn)生Jmp Stub function。 解決方法,在Link選項中去掉Increment link. 閱讀全文 posted @ 2009-03-30 17:09 besterChen 閱讀(488) | 評論 (0) 編輯 | 摘要: 比賽的地址是:http://www.ghoffice.com/bbs/read-htm-fid-97-tid-63475.html
很簡單的題目,可是要求是:要不你精簡,要不你奇特,我看到這個比賽題目的時候,沒有辦法,人家已經(jīng)把我知道的精簡式的代碼幾乎貼完了,那我也就只能來個奇特的了,用shellcode實現(xiàn),代碼如下: 閱讀全文 posted @ 2009-03-25 18:07 besterChen 閱讀(2782) | 評論 (3) 編輯 |
|
|||