Time of Update: 2018-12-07
在下列情況下,應該考慮使用Factory 方法:1.一個類無法預測它要建立的對象屬於那一個類。2.一個類用它的子類來指定所建立的對象。3.把要建立那一個類的資訊局部化的時候。簡單的原廠模式也就是有一個類負責決定在單繼承體繫結構中執行個體化那一個子類(又稱衍生類別)。Factory 方法模式(Factory Method
Time of Update: 2018-12-07
今天在網上看到了這樣一個問題,“如果malloc 了一塊字串的記憶體,然後,它改變了這個字串的大小,問會不會有一部分記憶體沒有被釋放掉。”這個問題,以前的確沒有仔細想過。 當然,我覺得是肯定會釋放掉的,但是一直沒有瞭解過free 的原理,不敢亂說。我看了一下作業系統的記憶體管理,基本上是這樣的,當然各個系統的實現不一樣。 作業系統管理記憶體,維護了一個空閑記憶體鏈表,malloc從個鏈表中選出一個來使用,每個記憶體塊都有一個頭部來表示這個記憶體的基本資料,如記憶體大小, 所以free
Time of Update: 2018-12-07
params 關鍵字可以指定在參數數目可變處採用參數的方法參數。 在方法聲明中的 params 關鍵字之後不允許任何其他參數,並且在方法聲明中只允許一個 params 關鍵字。 樣本 // cs_params.cs using System; public class MyClass { public static void UseParams(params int[] list) { for ( int i = 0 ; i < list.Length ; i++ )
Time of Update: 2018-12-07
1 在BUID時出現,BLDMAKE ERROR: Directory "/symbian/9.2/S60_3rd_FP1/EPOC32/,等 相關資訊 Carbide.c++的workspace要和SDK安裝在同一個分區下,並在工程要和相應的SDK對應 2 產生SIS檔案項目右鍵 -> properties -> carbide.c++ -> carbide build configuration -> sis builder -> add 在SIS
Time of Update: 2018-12-07
概述 pc-lint是一個曆史悠久,功能異常強勁的靜態代碼偵查工具。它的使用曆史可以追溯到電腦編程的遠古時代(30多年以前)。經過這麼多年的發展,它不但能夠監測出許多文法邏輯上的隱患,而且也能夠有效地幫你提出許多程式在空間利用、運行效率上的改進點,在很多專業級的軟體公司,比如 microsoft, pc-lint檢查無錯誤無警告是代碼首先要過的第一關,我個人覺得,對於小公司和個人開發而言,pc-lint也非常重要,因為基於開發成本考慮,小公 司和個人往往不能拿出很多很全面的測試,這時候,pc-
Time of Update: 2018-12-07
上次說了一些有意思的面試題, 今天我們結著看看一些關於指標和sizeof的面試題:下面是我看到的一些面試題5、簡述 char * const p; char const *p; const char *p; 之間的區別。 首先討論: char * const p; 這裡可以知道const修飾是指標變數p;
Time of Update: 2018-12-07
概述 c語言中有一種長度不確定的參數,形如:\"…\",它主要用在參數個數不確定的函數中,我們最容易想到的例子是printf函數。 原型:int printf( const char *format [, argument]... ); 使用例:printf(\"enjoy yourself everyday!\\n\");printf(\"the value is %d!\\n\", value); 這種可變參數可以說是c語言一個比較難理解的部分,這裡會由幾個問題引發一些對它的分析。
Time of Update: 2018-12-07
二、指標是什麼東西 想說弄懂你不容易啊!我們許多初學指標的人都要這樣的感慨。我常常在思索它,為什麼呢?其實生活中處處都有指標。我們也處處在使用它。有了它我們的生活才更加方便了。沒有指標,那生活才不方便。不信?你看下面的例子。 這是一個生活中的例子:比如說你要我借給你一本書,我到了你宿舍,但是你人不在宿舍,於是我把書放在你的2層3號的書架上,並寫了一張紙條放在你的桌上。
Time of Update: 2018-12-07
#include<stdio.h>int Factorial(int n){int i=0;int sum=1;int array[]={0};for(i=n;i>=1;i--) { sum=sum*i; }return sum;}int Arrangement(int n,int m){int result=0;if(m>n) { printf("您的輸入有錯,上邊的數不能比下邊大! OK?");return 0;
Time of Update: 2018-12-07
網上關於TEA,XTEA,XXTEA的討論很熱烈,而且給出了php,jsp,asp,c#等的實現。TEA演算法以快速著稱,相較而言,c的實現比較短小。這裡給出C的實現://0×9e3779b9總要與我們形影不離,即使到了這裡,它還要出現!!!//瞧,它又來了,那個0×9e3779b9就是總在我們生活中出現的黃金分割!!!//Tiny Encryption
Time of Update: 2018-12-07
C/S
Time of Update: 2018-12-07
http://www.ondotnet.com/pub/a/dotnet/2001/06/14/csharp_4_java.html1. 簡單類型C#中的primitive type也是object的子類,因此可以直接調用ToString 或 GetType。 如Int是System.Int32的假名,後者繼承了System.Object注意:C#中簡單類型仍然是pass-by-value 2. 常量定義Java:static finalC#:const int TWO = 2;
Time of Update: 2018-12-07
看看人家老外是怎麼用宏的。這個例子摘自《C專家編程》。
Time of Update: 2018-12-07
有的時候,寫C++代碼的時候,初始化了一個執行個體(Instance),即用類的定義建立了一個對象。由於某些原因,在一些其它地方也需要使用這個執行個體,當然不能再重新定義一個對象了。這個時候,唯有想辦法獲得之前那個對象的指標。當指標也不能成為傳遞參數的時候,怎麼辦呢?可以利用待用資料成員,用如下的方法定義一個對象。class TestInstance { public: TestInstance(void); ~TestInstance(void);public: static
Time of Update: 2018-12-07
在 C++ 裡,如果需要把 int 的數值直接轉成字串(例如對於整數123,我能得到字串”123″),我們可以用很多種方法來實現:1) 用 C++ 裡的流量控制,可以輕鬆地實現整數轉成字串的功能:#include <sstream>#include <iostream>main(){ int abc = 123; std::ostringstream out; out << abc; std::cout <<
Time of Update: 2018-12-07
文章目錄 導航公告 在C++ Builder6上使用BoostRegex庫Regex是一種模式比對形式,它通常用程式中。比如我們經常使用的grep工具,還是perl語言都使用了Regex。傳統的C++處理Regex是非常麻煩的,這也成為很多其他語言愛好者的笑柄,現在情況不一樣了,因為有了boost。
Time of Update: 2018-12-07
在C++ Builder程式中控制Windows關機2000-08-16 14:20:07 我們在應用程式編製完成後,需要設計應用程式的封裝和分發功能。在編寫安裝程式時,經常會遇到這樣的問題:程式安裝完成後需要重新啟動電腦。那麼在代碼中如何控制Windows的關機或重新啟動呢? 要實現這個功能,需要用到Windows API提供的一個ExitWindowsEx函數。我們可以通過查看C++ Builder提供的協助檔案得到這個函數的使用格式: BOOL ExitWindowsEx(
Time of Update: 2018-12-07
一、讓視窗總是在最前面 Form 的FormStyle屬性設定為fsStayOnTop值。 二、 動態調用表單Form 在預設情況下, 由File/New Form產生添加入專案檔中的 表單都具有"Auto Create"(自動建立)的特性。即只要程式運行,該表單就存在於 記憶體中了,不管當前它是否被調用。具有這種特性的表單一般適用於表單內容比較 固定、經常被調用的情況。其優點是速度快,缺點是佔用記憶體。在實際程式設
Time of Update: 2018-12-07
C++Builder定製系統功能表 作者:unknown 更新時間: 2005-05-15 通常在應用程式的主表單中,利用滑鼠左鍵點擊左上方的表徵圖,會彈出一個菜單,稱之為“系統功能表”。 在表單中並沒有系統功能表對應的組件,所以有時我們需要定製系統功能表時就比較麻煩。具體可以能過下面的步驟實現: .在系統功能表上添加所需的功能表項目。 .為新添加的功能表項目定義OnClick事件的處理過程。
Time of Update: 2018-12-07
1)auto 這個關鍵字用於聲明變數的生存期為自動,即將不在任何類、結構、枚舉、聯合和函數中定義的變數視為全域變數,而在函數中定義的變數視為局部變數。這個關鍵字不怎麼多寫,因為所有的變數預設就是auto的。 (2)register 這個關鍵字命令編譯器儘可能的將變數存在CPU內部寄存器中而不是通過記憶體定址訪問以提高效率。