原创 epoll源碼剖析
epoll多路實現模型相比selecte、poll避免了出現文件描述符越多性能越差的情況,並且省去了大量內核/用戶空間的拷貝和輪詢所有文件描述符的系統消耗。爲了理解epoll實現高併發,本文從源碼瞭解epoll的實現機制。 epoll的用
原创 C++類模板
類模板的格式爲 template <class T> class List; template<typename T>//typename和class 可以互換 class Node { friend class List<T>;
原创 從運算符重載深入理解自增自減運算符
在學習C++的過程中經常會遇到一些自增運算符的問題,比如 1.後綴自增運算不能賦值 int tmp = 0; tmp++ = 10;//error 不能做左值 以過往經驗來看該語句意爲對自增後的 tmp進行賦值,但爲什麼 tmp++後會變
原创 關於結構體、聯合體、類的大小比較
在學習C語言的過程中,我們經常會遇到求結構體、聯合體或者類的大小。除了明確基本元素的大小,還需要考慮內存對齊帶來的影響。爲了提高計算機的讀寫速度,採用內存對齊的方式以空間換時間,因此要考慮到在不同的編譯環境下,內存字節對齊存在差異。 注:
原创 大數據:隨機生成10萬個整數找出出現次數前一百的數
實現大數據處理的基本方法是分治法+heapsort /** * @100 000個整形數據,範圍在0~32768 * 1.輸出最大 * 2.輸出次數前100的數 */ #include <stdio.h> #include <asse
原创 C++中空類有多少個默認成員函數
C++中有6個默認的成員函數,在類中未實現的成員函數編譯器將默認生成該成員函數。 class Good { public: Good(char* name= NULL,float price = 0);//默認構造函數 ~Good
原创 用PHP實現一個註冊網頁
註冊網頁需要用戶填入完整的個人信息,本文主要實現多種錄入用戶信息的方式。界面如下:簡單文本框,單選框,複選框,下拉框,提交按鈕。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit
原创 內聯函數的實質
c++內聯函數實質是編譯階段帶有 inline函數在函數調用點直接展開,以代碼膨脹的代價替換函數調用的開銷, 因此內聯函數不存在調用過程。 *****注意**** inline 修飾的函數聲明是無效的; inline 修飾的函數只在本文
原创 C++函數參數的默認值
C++函數的默認值需要注意 1.默認值從右向左依次給出 2.不能重複聲明函數的默認值 //error 默認值未從右向左依次給定 int sum(int a,int b=20,int c) { return a+b+c; } 在調用su
原创 如何使用github上傳代碼
作爲一個新手在註冊登陸後,然後選擇setting進行基本資料的設置,設置之後,就需要下載githubdesktop; githubdesktop 百度雲下載鏈接 提取密碼:xgnx; 解壓縮安裝後,得到如下界面,選擇options,點擊
原创 關於float轉int的函數實現
之前寫過幾次int與char類型的字符串相互轉換的問題,這次就想以float轉成int爲題,進行函數實現。 首先先對float的存儲方式,做一個簡單說明: float(浮點數):在32位的計算機中佔4個字節,存儲格式爲1位的符號位、8位
原创 關於C語言變量生存週期、作用域、內存分佈、默認值的基本總結
在C語言中,參與計算的數據都是通過不同類型的常量或者變量來表示的,而使用變量時不得不注意變量的生存週期、作用域,內存區域和默認值。在這裏簡單介紹一下內存區域: 代碼段(code segment):通常是指用來存放程序執行的一塊內存區域。這
原创 關於多維數組的運算問題
《c和指針》中有一道關於多維數組的題目,引用如下: int array[4][2][3][6]; 請問 array , &array+1,array+2, array[2]-1, array[0][1][0]+2 的值和類型。