Time of Update: 2018-12-04
以下為測試環境:gcc 4.3.2-1-1GNU/Linux Debian 5.0(剛開始使用csdn部落格,沒經驗。由於中間調試時間較長,忘了備份,剛寫完,趕緊發了。一看,沒有;再看,還是沒有。揮去憤怒,重寫一篇。望讀者以此為鑒,及時備份。:-)1、extern與staticextern
Time of Update: 2018-12-04
1、結構體就是一個可以包含不同資料類型的一個結構,它是一種可以自己定義的資料類型,它的特點和數組主要有兩點不同:首先結構體可以在一個結構中聲明不同的資料類型,;第二相同結構的結構體變數是可以相互賦值的,而數組是做不到的,因為數組是單一資料類型的資料集合,它本身不是資料類型(而結構體是),數組名稱可看作常量指標,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使資料類型和數組大小完全相同。由於結構體本身就是自訂的資料類型,定義結構體變數的方法和定義普通變數的方法一樣。
Time of Update: 2018-12-04
UDP原理就不多說了,網上能搜出一大堆。程式分為用戶端和伺服器端。實現的功能:伺服器端接收用戶端發來的資料並顯示。 1.用戶端 介面如下 各控制項名稱:textBoxIP,textBoxPort,textBoxTxt,buttonSend。 用戶端程式通過伺服器的IP地址和連接埠號碼向伺服器發送資料,IP地址預設為localhost,也可以是127.0.0.1 。 用戶端程式代碼:using System;using System.Text;using
Time of Update: 2018-12-04
看到一個比較初級的問題,4個欄位的ip,如何排序?分析:排序是按每個欄位的整數值進行,而整個ip地址是字串型,故需要逐個欄位讀取。注意到每個欄位0~255,可以用一個位元組表示,而要比較大小,故用unsigned char型。讀取後,最自然的想法是逐個欄位比較,依次比較4個欄位,這個可以分別對每個欄位調用排序。想到基數排序的原理,不妨以256作為基數實施基數排序。想到這裡,既然有這麼個特殊數字256,我們的欄位都是模256的餘數,可以將所有欄位按照所在位置乘以256的對應次冪;這樣得到一個整數,
Time of Update: 2018-12-04
”c++三人談“中看到惡魔曾經指出c++的編程範式可以分為ADT+PP,GP,OO三個方向。1、ADT+PPADT:abstract data type; 抽象資料類型 PP:procedure programme; 面向過程的編程範式 ADT+PP 就是說面向過程的編程範式+抽象資料類型,你可以理解為c++的前身:帶類的C。2、GPGP:泛型程式設計,GP(Generic
Time of Update: 2018-12-04
昨天被問到了尾遞迴及編譯器對它的處理相關,一直對它沒有研究過,解釋得很含糊。回來查了下,記錄如下:遞迴有線性遞迴(普通的遞迴)和尾遞迴。由於尾遞迴的特殊性,一般的編譯器會做些特殊處理。因此,在效率和開銷上,比普通遞迴好。舉個例子,計算n!1)線性遞迴:type recurve(long n){ return (n == 1) ? 1 : n * recurve(n - 1); }2)尾遞迴:type recurve_tail(long n, long result){
Time of Update: 2018-12-04
現在已上大三的我感覺大學快走到盡頭了。回想大學三年,是在迷茫與探索中走過的。不是別的,就只說我學C++的曆程吧。大一時學C語言時我將其放棄了;因為我認為C已經過時了。所以沒有用心學考試也就剛到80;但是在放暑假時有個同學叫我幫忙做他的暑期作業--學生資訊管理系統,而且要用純C寫,當時不好拒絕就硬著頭皮接下了,然後就在家瘋狂的學習,而且將老師沒有講的也學了,最後終於做好了,這使我很有成就感。
Time of Update: 2018-12-04
之前在使用指標的時候,常常對指標的類型感到困惑,既然所有的指標都只佔4個位元組,那麼他所對應的指標類型在指標轉化過程中有什麼作用呢。最近,終於弄懂了他們的關係,相關說明如下:1.前提首先定義了一個ZooAnimal類如下:class ZooAnimal{ public:ZooAnimal();virtual ~ZooAnimal();virtual void rotate();protected:int loc;String name;};2.說明定義如下三個指標:ZooAnimal
Time of Update: 2018-12-04
一 開篇:關於C/C++程式的運行原理一直困擾著我,由於不明白其運行機制,在寫程式的時候總給我一種空中樓閣的感覺。於是,很早就有寫一篇關於剖析C/C++程式的編譯、連結以及執行的過程的文章的想法(雖然這個問題其它人已經研究透了,但是本著學習的態度,自己動手總結一下還是有好處的),但一直不敢提筆。究其原因,覺得這個主題太大,涉及的知識面太廣,要想把這個問題說清楚不容易。再者,當時感覺自己水平太欠缺,不知道該怎麼開始。經過半年的準備,現在可以終於可以開始寫了。待寫....
Time of Update: 2018-12-04
GENERAL-------Use real tabs that equal 4 spaces.Use typically trailing braces everywhere (if, else, functions, structures, typedefs, class definitions, etc.)if ( x ) {}The else statement starts on the same line as the last closing brace.if ( x ) {}
Time of Update: 2018-12-04
::本篇文章是論述上一篇"基於選擇重傳ARQ傳輸協議的資料重傳機制方案設計"中定時器的實現錯誤更正:1.背景在本項目中,由於每個硬體感應器在軟體系統中都對應一個感應器對象,資料轉送以及重傳操作是針對每個感應器對象而言的,所以,每個對象應該對應一個定時器(該定時器是針對每個對象所擁有的重傳隊列的,並不是針對要接收的下一包,這點很重要,這是兩種不同的思維方式,個人認為第一種方案比較好)。針對重傳隊列的定時器在逾時後之後將重傳隊列發送給對應的感應器,而當接收到資料之後就會重設定時器(即將發送重傳隊列的
Time of Update: 2018-12-04
//2.59#include <stdio.h>using namespace std;#define byte_pointer unsigned char *//判斷當前電腦是大端儲存還是小端儲存int is_little_endian(){int tempi=1;return(*(byte_pointer)&tempi);}//輸出指定數的各位元組的16進位表示bool show_bytes(byte_pointer data,int index){for(int i=0
Time of Update: 2018-12-04
測試環境 windows xp SP3,vc601.空類占位元組數 class Father {};int main(){cout<<sizeof(Father)<<endl;return 0;} 輸出:1分析:空類之所以要佔一個位元組,應該是為了能夠定義該類的不同對象(具體如何操作現在還不太明白)。2.有一個成員變數的類占位元組數class Father {private:int a;};int main(){cout<<sizeof(Father)&
Time of Update: 2018-12-04
今天晚上終於將《深度探索C++物件模型》讀完了第一遍。回想一個月之前,因為在做項目的過程中,感覺由於對C++的相關實現機制不太瞭解,所以寫出的程式感覺心裡不踏實,有時候想最佳化但不知道如何下手。於是當時非常渴望瞭解C++底層的實現機制。但是不知道看那本書好,偶然間想起侯捷先生,因為之前逛書店的時候看過侯捷先生譯的《深入淺出MFC》,並且瞭解到侯捷先生一直都專註於C++經典書籍的翻譯。所以遂上網查侯捷先生的翻譯書目,於是就找到了《深度探索C++物件模型》。
Time of Update: 2018-12-04
程式由指令和資料群組成,C語言程式亦是如此。開發人員在編寫程式的時候往往需要根據不同資料的特點以及程式需求來選擇不同的資料存放區方式,那麼在C語言中資料的儲存分為哪些方式呢?C程式大致來講可以分為四個資料區:常量區,靜態去,堆區,棧區。其中常量區儲存了未被作為初始化使用的字串常量和被const修飾的全域變數,其特點是只可被訪問不可被寫入,生命週期同程式的運行過程。靜態區儲存了全部的全域變數,和所有被static修飾的變數(包括全域和局部),其特點是生命週期很長(為一次程式的運行過程)並且只被初始
Time of Update: 2018-12-04
在項目中,由於行動裝置需要跟管理中心進行請求服務,在管理中心使用併發模式對請求進行處理(與其對應的是輪詢模式),由於每次串連就需要建立一個線程對相應的請求提供服務,所以需要頻繁的建立線程,而服務結束或者串連斷開又需要銷毀線程,這樣一個過程對系統的開銷很大。再加上管理中心的其它模組也需要頻繁的開啟和銷毀線程,所以最終為了使系統更加穩定,決定加上線程池。 但是由於之前都是在C++類中建立線程。As you see
Time of Update: 2018-12-04
下面是我在看C演算法第一卷時發現的一些bug,如有不正確之處請各位網友指出,不勝感激。(之後bug陸續更新)*老外在用數組時一般都喜歡把數組的第一個元素作為標示變數或者直接就不用。比如:p317 的#define bin(A) 1 + count(A)就是這樣C演算法第一卷bug頁數錯誤描述 解決方式 p311quicksortB中的digit函數根據前面的定義不適用於對單個字元的位進行處理在對單個字元處理時(即後文中對字元處理的執行個體)digit定義為#define digit(
Time of Update: 2018-12-04
win8系統剛開始用,很多操作都不是很熟,今天卻遇到一個這樣急得問題:我的C盤磁碟空間爆滿了,而且我在C盤裝的只有作業系統,其它的軟體都裝在其它盤裡面的,然後出現這個問題後導致我QQ截不了,文檔儲存不了......等一系列問題,導致我整個周末都在處理這個問題,首先,我搜了一下出同樣問題的也不少,按照一些他們的方法也未能徹底解決,然後我就在群裡問,有些人給我的建議就是C盤莫名C盤空間被佔滿的原因就是中毒了,讓我重新做系統,但是我不甘心重新做系統的,因為我這是這個月初剛買的本本。不可能中毒,我也沒幹
Time of Update: 2018-12-04
/*////////////////////////////////////////////////////////////////////////////// // 名 稱 (Unit Name): BiTree.h 二叉樹標頭檔 // 備 注 ( Remarks ): 包含檔案棧的地址:http://www.ourys.com/post/38.html, 包含檔案隊列的地址:http://www.ourys.com/post/38.html ////
Time of Update: 2018-12-04
不知不覺,做程式工作已經10年了,從最初學習C++到Java,從困惑到清晰,感覺真的有不少東西可寫,不過總覺得不成體系,大概看了太多八股文章的緣故,被憋得實在難受。所以不管了,想到什麼寫什麼吧。 1、從C++到Java C++和Java誰快?從演算法上講我認為毫無疑問是彙編〉C++〉Java,不要迷信某些個別評測,單純的迴圈測試什麼的,比如JNode的官方網站上有Java寫的JVM的效能和SUN的JVM