C++ 編程的“深度”與“廣度”

C++很複雜——我們聽多,並且也相信這個說法。但其實它也有很簡單的地方。C++有一個樸素的思想:“簡單的問題用簡單的方法解決,複雜的問題,用複雜的方法解決。”。這句話當然不能絕對化。一個問題的複雜性,往往有多種來源,比如可以是“深度”上的困難;從這一點上,我們瞭解,證明“任何一個>=6之偶數,都可以表示成兩個奇質數之和 ”是個難題,雖然題目很短一讀明白,但它確實是一個複雜的問題,因為它是“哥德巴哈猜想”。複雜度的來源也可以是問題的“廣度”。比如給一個人做一道可口的菜是簡單的,但今天是周末,

羅裳輕解,看C++怎樣擁java入懷……

前言在公司裡維護一個網路後台服務端程式,用C++寫的,為了一些靈活性,就想整合個指令碼語言,因為lua似乎沒有什麼庫(或者是我對它比較無知),於是就選了老牌的python。確實噢,這傢伙基本什麼c/c++的庫,都有它的封裝。於是在服務端程式裡,嵌了一個python的解譯器。可惜事情沒有這麼美好,公司裡會python本來就不多,並且多數僅在入門。讓學Java的人去學習python? 有木有發現一個現象:學java的程式員們相對都比較自我封閉,基本都不愛再學門語言什麼的,愛穩定,不愛折騰(凡客體?)

學C? 學C++?

學C還是學C++,是個不新鮮的問題。我寫這篇,是因為我沒有答案,所以非要有答案的話,不能在這裡找,我只是把我的學習C,C++的真實經曆盡量詳細地描述一下。-----------------------------------------------------------------------------------------------------------------如果我有一個兒子。如果我這個兒子他長大成人18歲了。如果他要泡妞。我會要求他多泡幾個,多談幾段戀愛,多黃掉幾段感情。如果

Linux之父又罵C++了(一)

 Linux之父(Linus)又罵起C++了。這兒可以看點門道(點我)。更多的還可見原貼。 一、懂一點“曆史辯證主義”還是必要的Linus罵到的某些地方,確實就是C++的弱點。比如沒有並發支援,沒有像Java等語言提供的GC機制(記憶體回收)等等。Linus的意思是,C++既然是基於C,既然要走高端,怎麼可以沒有這些功能呢?這一點,我覺得Linus這人也難免“揣著明白裝胡塗了”。C++之父1979年開始搞Cpre,最迫切的需求是引入class,也就是要往“物件導向”走出一步。你說那陣的電腦軟硬體

C++ RTTI: 2個宏實現“根據對象名建立對象”

1. 問題提出:C++ RTTI缺乏一些運行時資訊,無法根據對象名直接建立對象。所以MFC為了實現序列化,從頭構造了自己的RTTI資訊,並定義了一整套宏。具體可以參考MFC源代中一下類和宏的實現:CRuntimeClass, CObject, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC2. 需求:個人正在寫一個做整合測試的工具,有一個設定檔,用於指定哪些CASE需要被測試到,內容大致如下:<ut>     <case name="case1"/>

強大免費的C++跨平台影像處理庫 ImageStone V2.0 發布

http://www.codeproject.com/bitmap/ImageStone.aspImageStone是一套功能強大的C++影像處理庫,它可以在多個平台之間移植。功能包括:讀寫影像檔(JPG,GIF,PNG,TIFF,TGA...),顯示,柱狀圖分析,undo/redo支援,超過100種預定義的特效等。裡面有全部的源碼和詳細的協助文檔加9個例子程式,其中example 008是一個比較完善的影像處理程式。

C++ Template: 模板參數傳遞中的切片問題

Effective Standard C++ Library: Explicit Function Template Argument Specification and STL A New Language Feature and Its Impact on Old Programming Techniques       Klaus Kreft and Angelika

用C++實現一個XML parser的必要工作。

考慮一個完整的XML Parser一般由幾部分組成:必要組件:1. DOM 介面定義,以及DOM MODEL的實現。2. 一個XML詞法分析器,用於將XML字元流轉換成TOKEN流。3. 一個XML PARSER,將TOKEN流組織成DOM MODEL.4. 一套在DOM NODE中遍曆的資料結構和演算法,NodeIterator,TreeWalker.5. 一個DTD的詞法分析器和DTD PARSER.6. 一個XPATH運算式語言的編譯器,將XPATH運算式編譯成AST樹。7.

孟岩的C++培訓課

        因公司安排參加了2天C++的培訓,孟岩老師的主講。        課講的很好,第一天是一些C++的一些原理,如對象記憶體布局,多重繼承,等等,第二天主要是STL和範型。內容不少,講的也很透徹,很久沒有這麼探究C++的理論,咋聽之下,感覺還是不錯的。        唯一的遺憾是,好像現在C++領域除了這些東西以外,好像真的是找不到新的課題了。關於C++的物件版面配置,在lipman的書裡,早就講的清清楚楚了;STL方面的好書更是不少;模板吧,<<Modern C++

封裝C++ enum ,並設定enum 的名字

 /*! * \b author: Peng Futian  * * \b Date: 2011-07-30 * * \b Description: 將enum封裝在struct中,並且設定enum的名字 * 用法: *  類型定義,為了與數組中的名字對應,元素值應該用系統預設的設定,從0開始 *  DECLARE_MV_ENUM(FileShare, 10) *   Read, *   Write, *  END_DECLARE_MV_ENUM() * * 

zookeeper 3.3.3 C 編譯的問題及解決

zookeeper 3.3.3 在Redhat 上編譯時間,會有下面的錯誤 ../../../include/zookeeper/recordio.h:70: error:expected unqualified-id before ‘__extension__’../../../include/zookeeper/recordio.h:70: error:expected `)' before ‘__extension__’../../..

linux環境下,c++庫檔案中的符號的含義

c++庫檔案中的符號的含義:      所有的符號都是以底線加上大寫字母也就是"_Z"開頭,對於在 類裡或者命名空間中的符號,後面緊跟"N",然後是各個命名空間和類的名字,每個名字前是名字字串的長度,隨後是大寫字母"E",對於一個函數,他的參數列表都在E後面,比如對於float類型,就是字母"f",舉個例子,對於函數N::C::func(int,

長度為0的數組 —— C語言的非標準用法

      在標準C和C++中,長度為0的數組是被禁止使用的。不過在GNUC中,存在一個非常奇怪的用法,那就是長度為0的數組,比如Array[0];很多人可能覺得不可思議,長度為0的數組是沒有什麼意義的,不過在這兒,它表示的完全是另外的一層意思,這個特性是不可移植的,所以,如果你致力於編寫可移植,或者是稍稍需要跨平台的代碼,這些Trick最好還是收合來的好。在GNU的指南中,它是如此寫道: struct line { int length; char contents[0];};//

C實現二叉樹BTree基本操作

 /*** @file GM_BTree.h* @brief * @author Don Hao* @date 2011-8-22 21:51:35* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:

C/C++實現冒泡法排序

  /*** @file GM_BSort.h* @brief 冒泡排序* @author Don Hao* @date 2011-8-23 19:55:56* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company: <

C++中建構函式和解構函式中的異常

1. 建構函式中的異常    可以在建構函式中拋出異常。當建構函式拋出異常時,表明沒有通過建構函式完整構造一個對象,因此不會調用解構函式,此時僅會釋放自動變數,無法自動釋放動態分配的資源。此時可以通過智能指標來管理動態分配的資源。2. 解構函式中的異常     

一起來學REST(12.1)——C#中使用REST

原文地址:http://rest.elkstein.org/Learn REST: A Tutorial 發送HTTP GET請求兩個主要的類是System.net中的HttpWebRequest和HttpWebResponse。下面的方法發送一個請求,並且返回一個長字串:static string HttpGet(string url) { HttpWebRequest req = WebRequest.Create(url) as

【C++】fwrite與fread

fwrite函數函數功能:寫資料區塊函數調用形式:fwrite(buffer, size, count, fp);函數說明:fread函數函數功能:讀資料區塊函數調用形式:fread(buffer, size, count, fp);函數說明:/*fwriteDemo*/#include <stdio.h>#include <iostream>int main(){FILE *fp;char buff[100] = "Hello World.";fp =

C/C++實現插入排序

 /*** @file GM_ISort.h* @brief 實現插入排序* @author Don Hao* @date 2011-8-22 19:46:19* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:

C/C++實現快速排序

 /*** @file GM_QSort.h* @brief 實現快速排序* @author Don Hao* @date 2011-8-21 22:31:06* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:

總頁數: 4314 1 .... 1786 1787 1788 1789 1790 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.