• <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>

            lantionzy

            coding
            posts - 10, comments - 39, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            C++ Primer

                 摘要: int main()
            {
            string str("Hello World!\n");
            cout << "The size of " << str << "is " << str.size()
            << " characters, including the newline" << endl;
            return 0;
            }
            從邏輯上來講,size() 成員函數似乎應該返回整形數值,或是無符號整數。但事實上,size 操作返回的是 string::size_type 類型的值。
            string 類類型和許多其他庫類型都定義了一些配套類型(companion type)。通過這些配套類型,庫類型的使用就能與機器無關(machine-independent)。size_type 就是這些配套類型中的一種。它定義為與 unsigned 型(unsigned int 或 unsigned long)具有相同的含義,而且可以保證足夠大能夠存儲任意 string 對象的長度。為了使  閱讀全文

            posted @ 2009-10-22 09:10 lantionzy 閱讀(12120) | 評論 (8)  編輯 |

                 摘要: 本示例的基本實現過程是:客戶端通過鍵盤輸入數據,數據被發送到服務器。后者接收到數據后,需要進行判斷,如果發來的數據串為“quit”,表明對方向退出聊天過程,于是服務器端也發送字符串“quit”,聊天過程終止;否則將接收到的信息和對方的IP地址進行格式化后,在屏幕上輸出。同樣在客戶端也需要進行相應的判斷和輸出。
            首先編寫服務器端程序,實現代碼如下:
            #pragma comment(lib,"ws2_32.lib")
            #include
            #include   閱讀全文

            posted @ 2009-10-20 17:07 lantionzy 閱讀(2580) | 評論 (12)  編輯 |

                 摘要: 針對示例程序,說明幾個用VC++基于TCP/UDP網絡編程應注意的幾個地方:
            1、基于TCP和基于UDP的網絡應用程序在發送和接收數據時使用的函數是不一樣的:前者使用send和recv,后者使用sendto和recvfrom。
            2、由于程序中使用了Winsock庫中的函數,這里需要為程序鏈接相應的.lib文件:ws2_32.lib。
            3、我們知道,Windows網絡編程至少需要兩個頭文件:winsock2.h和windows.h,而在WinSock2.0之前還存在一個老版本的winsock.h。正是這三個頭文件的包含順序,導致了問題的出現...
              閱讀全文

            posted @ 2009-10-19 16:23 lantionzy 閱讀(2104) | 評論 (1)  編輯 |

                 摘要: 注:本系列文章適合初學網絡編程的讀者
            對于基于UDP的服務器來說,就是一個客戶端,不用建立監聽或者說建立連接,直接調用recvfrom函數接收數據。注意,在編寫基于UDP的網絡程序時,在接收數據時,使用的是recvfrom函數。而前面基于TCP的服務器端程序接收數據時使用的是recv函數。
            客戶端也可以直接發送數據,這里需要調用sendto函數而不是send函數。

            新建一個空的Win32 Console Application類型的工程,在其中添加實現基于UDP的服務器端程序的代碼UDPSrv.cpp:  閱讀全文

            posted @ 2009-10-19 15:23 lantionzy 閱讀(1983) | 評論 (3)  編輯 |

                 摘要: 注:本系列文章適合初學網絡編程的讀者

            網絡程序的實現可以有很多方式,Windows Socket就是其中一種比較簡單的方法。socket是連接應用程序與網絡驅動程序的橋梁,socket在應用程序中創建,通過綁定操作與驅動程序建立關系。此后,應用程序送給socket的數據,由socket交給驅動程序向網絡上發送出去。計算機從網絡上收到與該socket綁定的IP地址和端口號相關的數據后,由驅動程序交給socket,應用程序便可從該socket中提取接收到的數據。
            下面通過一個簡單的實例來講述基于TCP的socket編程的通信流程。其中服務器端程序實現代碼TCPSrv.cpp如下:  閱讀全文

            posted @ 2009-10-19 14:36 lantionzy 閱讀(2127) | 評論 (2)  編輯 |

                 摘要: 如果應用程序的另一個實例影響到可選(非首要)功能,應用程序啟動時必須:
            1)檢測是否有用戶正在運行該應用程序。
            2)阻止所有有問題的功能。
            3)通知當前用戶無法使用特定功能的原因。

            下面給出一個實例:  閱讀全文

            posted @ 2009-10-15 13:59 lantionzy 閱讀(2174) | 評論 (2)  編輯 |

                 摘要: 一、只讀算法

            1、使用兩個迭代器和一個值調用 find 函數,檢查兩個迭代器實參標記范圍內的每一個元素。只要找到與給定值相等的元素,find 就會返回指向該元素的迭代器。如果沒有匹配的元素,find 就返回它的第二個迭代器實參,表示查找失敗。于是,只要檢查該函數的返回值是否與它的第二個實參相等,就可得知元素是否找到了。
            int search_value = 42;
            // call find to see if that value is present
            vector::const_iterator result = find(vec.begin(), vec.end(), search_value);
            // report the result
            cout << "The value " << search_value

            << (result == vec.end()? " is not present" : " is prese  閱讀全文

            posted @ 2009-10-15 09:42 lantionzy 閱讀(1486) | 評論 (2)  編輯 |

                 摘要: 標準庫定義了三種順序容器類型:vector、list 和 deque(雙端隊列“double-ended queue”)。它們的差別在于訪問元素的方式,以及添加或刪除元素相關操作的運行代價。

            1、每種順序容器都提供了一組有用的類型定義以及以下操作:

            在容器中添加元素。

            在容器中刪除元素。

            設置容器大小。

            (如果有的話)獲取容器內的第一個和最后一個元素。

            2、一些關鍵概念和難點:

            vector 對象動態增長:  閱讀全文

            posted @ 2009-10-15 08:19 lantionzy 閱讀(1668) | 評論 (1)  編輯 |

                 摘要: 類的成員函數具有一個附加的隱含形參,即指向該類對象的一個指針。這個隱含形參命名為 this,與調用成員函數的對象綁定在一起。成員函數不能定義 this 形參,而是由編譯器隱含地定義。成員函數的函數體可以顯式使用 this 指針,但不是必須這么做。如果對類成員的引用沒有限定,編譯器會將這種引用處理成通過 this 指針的引用。

            盡管在成員函數內部顯式引用 this 通常是不必要的,但有一種情況下必須這樣做:當我們需要將一個對象作為整體引用而不是引用對象的一個成員時。最常見的情況是在這樣的函數中使用 this:該函數返回對調用該函數的對象的引用。  閱讀全文

            posted @ 2009-10-15 08:13 lantionzy 閱讀(1874) | 評論 (0)  編輯 |

            亚洲国产精品久久久久婷婷老年| 久久久久亚洲AV成人网人人软件| 久久精品中文字幕一区| 久久激情五月丁香伊人| 久久午夜无码鲁丝片午夜精品| 性做久久久久久免费观看| 久久久久99精品成人片欧美| 色偷偷888欧美精品久久久| 人人狠狠综合久久亚洲高清| 国内高清久久久久久| 欧美777精品久久久久网| 久久成人国产精品免费软件| 国产精品久久久久久久久| 欧美精品乱码99久久蜜桃| 久久精品无码一区二区三区| 99久久夜色精品国产网站 | 久久婷婷人人澡人人爽人人爱| 人妻丰满AV无码久久不卡| 午夜视频久久久久一区 | 99久久伊人精品综合观看| 亚洲国产成人精品女人久久久 | 久久久久久久久久久久中文字幕 | 国内精品久久久久国产盗摄| 综合人妻久久一区二区精品| 热RE99久久精品国产66热| 51久久夜色精品国产| 99久久精品国产高清一区二区| 伊人久久亚洲综合影院| 久久精品国产第一区二区| 亚洲国产成人久久精品影视| 久久久一本精品99久久精品88| 久久久久久久97| 久久久久久精品免费看SSS | 久久免费精品视频| 国产精品一久久香蕉国产线看观看| 久久精品一本到99热免费| 久久久久久久久久久免费精品 | 久久久噜噜噜久久| 国产精品免费久久久久影院| 亚洲一区二区三区日本久久九| 91亚洲国产成人久久精品|