原创 指向指針的指針 **

    c/c++的指針是難點,很多地方都有提及,就不一一概述了。這裏說說指向指針的指針的作用。 1、指向一種自定義類型。可能我是從高級語言(JAVA、python等)過來的,所以喜歡這樣描述,例如認爲int、long等是值類型,stru

原创 軟件低效的根源

         在最高層次中,軟件的效率取決於兩個主要因素的效率: 1、設計效率  這與程序的高層設計有關。解決這一層次的性能問題需要理解程序的大體構造。在相當大的範圍內,這是與語言無關的。任何編碼效率都無法掩蓋低劣的設計 2、編碼效率

原创 人工神經網絡

人工神經網咯的類型有很多,以下對幾個普遍的分類進行介紹: 首先介紹一下神經網絡的主要學習規則有 1、HEBB學習規則 2、離散感知器學習規則 3、連續感知器學習規則 4、最小均方學習規則 5、相關學習規則 6、勝者爲王學習規則 7、外星學

原创 遺傳算法

一、基本遺傳算法的流程如下: 不斷循環,直到尋找出一個解: 1、檢查每個染色體,看它解決問題的性能如何,並相應地爲它分配一個適應性分數。 2、從當前羣體選出2個成員。選出的概率正比於染色體的適應性,適應性愈高,被選中的概率也愈大。常用的方

原创 java中的“值傳遞”和“引用傳遞”

 和大多數流行的編程語言一樣,函數體的傳入參數分爲“值傳遞”和“引用傳遞”兩種。 (1)“值傳遞”傳入的參數是java語言中定義的基本數據類型(如int,char,double等) (2)“引用傳遞”傳入的參數在java則是對象的一個"引

原创 c++風格的類型轉換

         標準c++提倡使用類型轉換操作符類替換舊風格(如 int i=(int)100.1)的強制類型轉換。其語法格式如下:       轉換操作符<目標類型>(待轉換對象)       其中轉換操作符可以是以下幾種:   1、

原创 java中的"=="與"equals"

        以前學習java中一直沒真正搞懂"=="與"equals"的區別,總以爲"=="是判斷內存地址是否相同;"equals"是判斷值是否相同。其實不然。         在java語言中,判斷兩個對象引用變量是否相等,有兩種比

原创 windows下的第一個makefile程序

       今天比較閒,研究了一下Makefile,這是自己第一次寫Makefile,雖然一直聽說其大名,但都是流於理論與書籍。今天決定自己實踐一次,好,廢話少說。 1、先寫一個hello world的main.c #include

原创 遊戲的那些事兒

  不知不覺又到12月了。近期寫代碼少了很多,多了時間去看書學習和打遊戲,這個過程想了很多也思考了很多,今天就說說近來我的所思和所想吧。1、從war3看尋路算法  這個是我昨天想到的。我們打dota的時候,在追殺一個紅血的英雄的時候,應

原创 加快程序運行速度的技巧

          加快程序運行速度的技巧   通常影響程序運行速度的地方,都是在執行次數最多的地方。比如顯示一張800*600的256色圖形,如果在設置調色板時浪費了0.001秒,那麼對整個程序不會有很

原创 java中的clone機制

爲什麼要使用clone? 在實際編程過程中,我們常常要遇到這種情況:有一個對象A,在某一時刻A中已經包含了一些有效值,此時可能會需要一個和A完全相同新對象B,並且此後對B任何改動都不會影響到A中的值,也就是說,A與B是兩個獨立的對象,但B

原创 c++標準庫的組成

      c++標準庫實際包含一堆頭文件(.h)、實現文件(.cpp)以及目標文件(.lib),其中包含的內容如下:   1、函數   2、常量   3、宏   4、類:公用類的定義(如:string)   5、對象:公用對象的定義(如

原创 C/C++拾遺

    在使用c/c++時有許多細節和技巧需要注意的,但很多時候時間一長不用就忘掉了,故一點一滴記錄下來,以作備忘! 1、函數調用      函數調用的參數不改變參數內容的應在參數前加上const,如void function(const

原创 windows判斷本機網絡連接的方法

InternetGetConnectedState

原创 nginx網絡層分析

近來有空閱讀了一下高性能開源http服務器nginx的源代碼,因爲整個代碼有接近10w行,所以只能先分析一下我比較關心的網絡層的連接處理。 首先從主函數main進去,前面的配置初始化先略過,看到如下代碼: if (ngx_pro