原创 關於c++中的類以及類的繼承需要注意的地方

在c++的類成員的初始化順序問題上需要注意的是:其成員的初始化順序不是由構造函數所生命的初始化順序來決定的,它的初始化順序是由類中成員數據的生命順序來進行構造的。現舉一例子就會恍然大悟了: #include <iostream>   cl

原创 巧妙利用union用來判斷大小端的應用

struct TestPoint3d {     union     {         struct         {             unsigned int x:1;             unsigned int y:

原创 多字符串的實現

#define FMTString(msg, msglen, pat) / do / { / va_list ap;/ bzero(msg, msglen);/ va_start(ap, pat);/ vsnprintf(msg, msg

原创 讀effective c++的筆記

允許我介紹80-20定律(參見條款M16)。它指出,在一個典型的程序中,80%的運行時間都花在執行20%的代碼上。條款11(好好閱讀):用delete去刪除一個已經被刪除的指針,其結果是不可預測的。條款12:儘量使用初始化而不要在構造函數

原创 獲取連接端的地址以及自己的地址

  如果作爲服務器端的進程去獲取連上它的端地址用getpeername(int sock, struct sockaddr *name, sockl

原创 網絡數據的打包(pack)

 http://bbs.csai.cn/bbs/view.asp?id=%7B7D79B044-B471-4E15-B837-88196EEFDC15

原创 成員函數指針與高性能的C++委託(上篇)

Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston 翻譯:周翔 引子 標準C++中沒有真正的面向對象的函數指針。這一點對C

原创 創建套接字及設置其屬性

  客戶端服務端共享的: 在進行套接字創建的時候採用int sock = ::socket(PF_INET, SOCK_STREAM, 0);

原创 接收網絡數據包

  接收網絡數據包一種好的方法就是可以建立套接口 字節緩衝 來對網絡數據先進行緩衝再在以後進行處理 由於接收的數據包是字節連續的,所以需要設置一塊一

原创 C++風格的各種類型轉換

儘量使用C++風格的類型轉換     仔細想想地位卑賤的類型轉換功能(cast),其在程序設計中的地位就象goto語句一樣令人鄙視。但是它還不是無法令

原创 成員函數指針與高性能的C++委託(下篇)

  成員函數指針與高性能的C++委託(下篇) Member Function Pointers and the Fastest Possible C

原创 關於內存中的各個部分

 一個由c/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式

原创 TEMP_FAILURE_RETRY宏的應用(很好用)

  The GNU library provides a convenient way to retry a call after a tempor

原创 指針引發的問題(以解決)

 由於前幾天寫二叉樹時犯了很嚴重的野指針和分配內存錯誤,害我找錯找了N久,所以發一個這方面的資料,很有用的A.指針參數是如何傳遞內存的?如果函數的參數是一個指針,不要指望用該指針去申請動態內存。示例1.1 中,Test 函數的語句GetM

原创 epoll技術,及其常用操作

  http://blog.chinaunix.net/u/14063/showart_377118.html(epoll技術的介紹) void