原创 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 的值和類型。