• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 46  文章 - 39  trackbacks - 0
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜


            標準模板庫(STL)簡介

            STL是一個包含類,算法和迭代器的C++庫;它提供許多計算機科學的基本算法和數據結構。STL是一個基本庫,意味著它的組成有大量的參數:基本上每個組成部分都是一個模板。在你使用STL之前要弄清楚模板是怎么工作的。

            容器和算法

            就像許多其他類庫一樣,STL庫也包含容器類:這些類的意圖是用來容納其他對象。STL包含Vector(矢量,向量)類,list(清單),deque(隊列),set(集),multiset(多重集),map,multimap,hash_set(哈希集),hash_multiset(哈希多重集),hash_map和hash_multimap。所有這些類都是一個模板,它可以實例化來容納任何類型的對象。舉個例子,你可以用vector<int>來代替普通的C數組,而且vector不用管理分配動態內存。

                vector<int> v(3);         //聲明一個包含3個元素的vector。
                v[0] = 7;
                v[1] = v[0] + 3;
                v[2] = v[0] + v[1];       //v[0] == 7, v[1] == 10, v[2] == 17

            STL也包含了很多算法用來操作容器中的數據。你可以使一個vetor中的元素逆向排列,舉個使用reverse算法的例子。
               
             reverse(v.begin(), v.end());   // v[0] == 17, v[1] == 10, v[2] == 7

            調用這個reverse函數需要注意兩個要點。第一,它不是成員函數,而是一個全局函數。第二,它需要兩個參數而不是一個:它不是作用在容器上,而是作用在一系列元素上。在這個具體的例子一系列元素就是整個容器v。

            這些事實的原理都是一樣的:reverse,像其他STL算法,都是與STL容器類分離的。這意味著reverse不僅僅只能用在vector中的元素,還可以用在lists中的元素,甚至是C數組中的元素。下面的程序是正確的。
             
              double A[6] = {1.2, 1.3, 1.4, 1.5, 1.6, 1.7};
               reverse(A, A + 6);
               for(int i=0; i<6; ++i)
                 cout << "A[" << i << "]=" << A[i];

            這個例子用了一個范圍,就像逆序一個vector的例子:reverse的第一個參數指向這個范圍的開始,第二個參數指向這個范圍的末尾的后面。這個范圍是[A, A+6);這兩個不對稱的記號讓人想到兩個不一樣的端點,第一個是這個范圍的開始,第二個是這個范圍末端的后一位。


            下一節《迭代器》
            posted @ 2012-02-20 21:02 canaan 閱讀(472) | 評論 (0)編輯 收藏
            1、開始->運行 control userpasswords2,彈出用戶帳號對話框。



            2、取消“要使用本機,用戶必須輸入密碼”。
            3、按下Ctrl+Shift+A,彈出“自動登錄”對話框,設置好用戶帳號和密碼。
            OK,大功告成。
            2、
            posted @ 2012-02-07 10:06 canaan 閱讀(1086) | 評論 (0)編輯 收藏
            INT 3斷點,其機器碼是CCh,也常稱為CC指令。

            對MessageBoxA函數進行的斷點檢測:
            FARPROC Uaddr;
            BYTE Mark = 0;
            (FARPROC&) Uaddr = GetprocAddress ( LoadLibrary("user32.dll"), "MessageBoxA");
            Mark = *((BYTE*)Uaddr);                //取MessageBoxA函數第一字節
            if(Mark == 0xCC)
              return TRUE;
            posted @ 2012-02-04 22:40 canaan 閱讀(575) | 評論 (0)編輯 收藏
            test al,al   測試al是否為0,如果al為0標志位ZF=1。
            xor al,al   al清零。
            posted @ 2012-02-04 19:53 canaan 閱讀(225) | 評論 (0)編輯 收藏
             _stdcall調用

              _stdcall是Pascal程序的缺省調用方式,參數采用從右到左的壓棧方式,被調函數自身在返回前清空堆棧。
               WIN32 Api都采用_stdcall調用方式.
              按C編譯方式,_stdcall調用約定在輸出函數名前面加下劃線,后面加“@”符號和參數的字節數,形如_functionname@number。
            posted @ 2012-01-13 21:17 canaan 閱讀(71) | 評論 (0)編輯 收藏

            1.URL地址防注入:

            //過濾URL非法SQL字符
            var sUrl=location.search.toLowerCase();
            var sQuery=sUrl.substring(sUrl.indexOf("=")+1);
            re
            =/select|update|delete|truncate|join|union|exec|insert|drop|count|’|"|;|>|<|%/i;
            if(re.test(sQuery))
            兩段簡單的JS代碼防止SQL注入
            {
                alert(
            "請勿輸入非法字符");
                location.href
            =sUrl.replace(sQuery,"");
            }

             

            2.輸入文本框防注入:

            引入以下js

             1//防止SQL注入
             2function AntiSqlValid(oField )
             3兩段簡單的JS代碼防止SQL注入{
             4    re= /select|update|delete|exec|count|’|"|=|;|>|<|%/i;
             5    if re.test(oField.value) )
             6兩段簡單的JS代碼防止SQL注入    {
             7    //alert("請您不要在參數中輸入特殊字符和SQL關鍵字!"); //注意中文亂 碼
             8    oField.value = ”;
             9    oField.className="errInfo";
            10    oField.focus();
            11    return false;
            12    }


             

            在需要防注入的輸入文本 框添加如下方法

                 

            1      txtName.Attributes.Add("onblur""AntiSqlValid(this)");//防止Sql腳本注入
            posted @ 2011-08-08 15:09 canaan 閱讀(996) | 評論 (2)編輯 收藏
            int CDECL MessageBoxPrintf(TCHAR *szCaption, TCHAR *szFormat,...)
            {
                TCHAR szBuffer[1024];
                va_list pArgList;

                va_start(pArgList, szFormat);
                _vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(TCHAR), szFormat, pArgList);
                va_end(pArgList);
                return MessageBox(NULL, szBuffer, szCaption, 0);
            }
            posted @ 2011-08-03 13:13 canaan 閱讀(366) | 評論 (1)編輯 收藏
            int
            WINAPI
            WinMain(
                  HINSTANCE hInstance,             //執行實體代號
                  HINSTANCE hPrevInstance,       //判斷自身的其他執行實體是否正在運行(32位元Windows版本,該概念已被拋棄。該參數值總是為NULL 0)
                  LPSTR lpCmdLine,                    //用于執行程序的命令列
                  int nShowCmd                         //程序最初顯示方式
            );

            此函數在WINBASE.H中有聲明
            WinMain函數聲明為返回一個int值。WINAPI標識符在WINDEF.H定義 #defina WINAPI __stdcall



            WINDEF.H    基本型態定義
            WINNT.H      支持Unicode的型態定義
            WINBASE.H  Kernel函數
            WINUSER.H  用戶接口函數
            WINGDI.H     圖形設備接口函數
            posted @ 2011-08-02 21:28 canaan 閱讀(235) | 評論 (0)編輯 收藏

            STL簡介

            目錄

            索引

            設計文檔

            其他STL資源

            IOstream庫(實驗)

            如何使用本站

            STL下載

            分類索引

            最新消息

            常見問題

            允許免費使用,復制,修改,分發和出售本軟件及其文檔以任何用途。只是在拷貝文件和支持文檔中都要有版權申明。Silicon Graphics 沒有因為任何陳述本軟件適合范圍。它按原樣提供沒有任何擔保。

            版權所有© 1994
            惠普公司

            原文:http://www.sgi.com/tech/stl/

            posted @ 2010-07-30 09:21 canaan 閱讀(245) | 評論 (0)編輯 收藏

            電腦感覺慢了很多,看著一大堆垃圾,重裝嘍。
            以前都用安裝光盤安裝,都要半個小時左右,還要裝驅動。

            這次選擇雨林木風,10分鐘就搞定了,開心。



            雨林木風光盤購買地址:http://item.taobao.com/item.htm?id=5651085094

            posted @ 2010-06-01 13:39 canaan 閱讀(422) | 評論 (4)編輯 收藏
            僅列出標題
            共5頁: 1 2 3 4 5 
            国产午夜福利精品久久2021 | 国产成年无码久久久久毛片| 色综合久久久久久久久五月| 久久精品aⅴ无码中文字字幕不卡| 狠狠干狠狠久久| 久久久久久久精品成人热色戒| 久久婷婷国产综合精品 | 欧美久久天天综合香蕉伊| 亚洲国产精品无码久久青草| 久久亚洲AV成人无码国产| 婷婷综合久久中文字幕| 久久精品国产2020| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久久久亚洲AV无码永不| 久久99精品久久久久久秒播| 波多野结衣中文字幕久久| 一本色道久久88综合日韩精品| 99久久国产综合精品网成人影院 | 人妻中文久久久久| 精品精品国产自在久久高清| 亚洲香蕉网久久综合影视| 久久综合久久伊人| 久久国产成人| 久久国产视频99电影| 亚洲国产精品久久| 66精品综合久久久久久久| 国产婷婷成人久久Av免费高清| 亚洲精品乱码久久久久久久久久久久 | 日本精品久久久久中文字幕| 久久久久久九九99精品| 久久综合亚洲色HEZYO社区| 久久乐国产精品亚洲综合| 久久久久国产日韩精品网站| 99久久精品国产综合一区| 久久97精品久久久久久久不卡| 999久久久无码国产精品| 2021久久精品国产99国产精品| 亚洲国产精品无码久久久秋霞2| 亚洲AV无码久久精品狠狠爱浪潮| 久久久精品国产免大香伊 | 精品久久久久中文字幕一区|