Time of Update: 2018-12-07
有同學寫了以下代碼,大家想想結果是怎樣的? 1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5 6namespace MyTest 7{ 8 class Program 9 {10 static void Main(string[] args)11 {12 C c = new C();1314
Time of Update: 2018-12-07
虛函數:目的:為了引起晚綁定實現方法:在聲明函數時使用virtual關鍵字純虛函數:目的:提供抽象的介面實現方法:virtual int foo()=0;特點:如果一個類中包含純虛函數,則該類的VTABLE是不完整的,故而無法產生該類的對象。這樣的類稱為純抽象基類純抽象基類,也稱為純虛類:目的:提供抽象的介面實現方法:包含純虛函數特點:不能產生該類的對象虛基類:目的:為了消除二義性實現方法:virtual繼承特點:一個類既可以作為某個類的虛基類,也可以作為另一個類的非虛基類。
Time of Update: 2018-12-07
namespace refout參數{ class Program { static void Main(string[] args) { int age = 20; int age1 = 20; IncAge(ref age);//函數調用也要加ref IncAge1(out
Time of Update: 2018-12-07
#include <stdio.h>#include <string.h>void main(){char x[]={'A','B','C','D'};int len=strlen(x);printf("%d\n",len);} 為什麼加\0就是len就等於字元個數了,不加的話len就不是預料中的值呢。。strlen是以'\0'作為結束符的,上面沒有結束符,會一直講到記憶體中的下一個'\0'為止,長度不確定。char x[]={'a','b','c','d','\0'};
Time of Update: 2018-12-07
概述 在軟體系統中,經常面臨著“一系列相互依賴的對象”的建立工作;同時由於需求的變化,往往存在著更多系列對象的建立工作。如何應對這種變化?如何繞過常規的對象的建立方法(new),提供一種“封裝機制”來避免客戶程式和這種“多系列具體對象建立工作”的緊耦合?這就是我們要說的抽象原廠模式。 簡而言之: 通過傳入"類名", 建立不同的對象.意圖 提供一個建立一系列相關或相互依賴對象的介面,而無需指定它們具體的類。類: CAdmin(管理員類), CUser(普通使用者類)介面:
Time of Update: 2018-12-07
在開始前先提出二個概念:時間複雜度與空間複雜度。時間複雜度是指該演算法的已耗用時間與問題規模的對應的關係。時間複雜度用T(n)=0(f(n)來表示,其中0表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,如果一個沒有迴圈的代碼,演算法的執行頻度是不會變的,記作0(1)。當演算法中有一個一重循環,那執行頻率就會呈線性增長0(n*n)...等等。光看這個運算式還是很抽象的,下面來二個例子:1、i=n;x=0;while(x<i){ x=x+1;
Time of Update: 2018-12-07
隊列是一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(back)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。這也就是我們平常經常用說到的先進先出法則(FIFO),隊列這種法則,在中國好久以前就開始運用了,例如糧倉管理官員,在沒掌握這種法則前,倉庫底部的糧食都因時間太久而壞掉了,後來有聰明人士在糧倉二邊開個門,一邊進倉一邊出倉,這樣管理就方便多了。隊列中沒有元素時,稱為空白隊列。隊列實現的介面如下:Code highlighting
Time of Update: 2018-12-07
C語言的#define 簡而言之 就是 替換你的代碼為目標代碼的。最近我有在用,比如#define PRINT_LINE(FP,MSG) fprintf(FP,"%s:%d %s\n",__FILE__,__LINE__,MSG)#define free_safe(EXP) if((EXP)!=NULL && \ (unsigned int)(EXP)>(unsigned int)0x07000000
Time of Update: 2018-12-07
void *memset(void *dest, int c, size_t count);將dest前面count個字元置為字元c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 從src複製count位元組的字元到dest. 如果src和dest出現重疊, 函數會自動處理. 返回dest的值. void *memcpy(void *dest, const void *src, size_t count)
Time of Update: 2018-12-07
原來看過一次,後來當自己有段錯誤的時候,才想起來這個很有用.如果不用他的方法,段錯誤很噁心的,不好找出來的.下面就是原文,不過
Time of Update: 2018-12-07
#include <string> //使用C++標準庫的string類時 using namespace std; //同上 #include <sstream> #include <iostream> #include <stdlib.h> //要將string類和int類型直接轉換最好有這些包含, //因為自己寫一個轉換函式比較方便,函數定義參考如下 string getstring ( const int n ) {
Time of Update: 2018-12-07
boost可以從 http://www.boost.org/users/download/ 下載,其實跳轉到 sf.net進行下載了。沒有中文版本的協助文檔就不說了,對於國人來說挺糟糕的。有個項目是翻譯的,不過也沒什麼進展:http://code.google.com/p/boost-doc-zh/ 。chm格式的協助文檔,是我的最愛,太方便了。pdf的 html方式的 都沒有chm的好,chm本質也是 對 html的打包,但是多了 尋找 索引 收藏 等功能,分類樹也很好。真想做一個 類似
Time of Update: 2018-12-07
asctime(將時間和日期以字串格式表示)clock(取得進程佔用CPU的大約時間)ctime(將時間和日期以字串格式表示)difftime(計算時間差距)ftime(取得目前的時間和日期)gettimeofday(取得目前的時間)gmtime(取得目前的時間和日期)localtime(取得當地目前的時間和日期)mktime(將時間結構資料轉換成經過的秒數)settimeofday(設定目前的時間)strftime(格式化日期和時間)time(取得目前的時間)tzset(設定時區以供時間轉換)
Time of Update: 2018-12-07
眾所周知,在微軟的作業系統下編寫應用程式,最主要的還是通過windows所提供的api函數來實現各種操作的,這些函數通常是可以直接使用的,只要包含windows.h這個標頭檔, 下載源檔案今天我們主要介紹的是幾個常用的api函數,通過它我們可以擷取使用者磁碟的相關資訊。 其主要函數原型說明如下: 1.擷取系統中邏輯磁碟機的數量The GetLogicalDrives function retrieves a bitmask representing the currently
Time of Update: 2018-12-07
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性:封裝、繼承、多態,真正領悟設計模式的精髓是可能一個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用C++寫了個小例子,加深一下理解。主要參考《大話設計模式》和《設計模式:可複用物件導向軟體的基礎》兩本書。本文介紹原廠模式的實現。 原廠模式屬於建立型模式,大致可以分為三類,簡單原廠模式、Factory
Time of Update: 2018-12-07
7.1 C++為什麼要有自己的輸入輸出系統? C++的編譯系統對資料類型進行嚴格的檢查,凡是類型不正確的資料都不可能通過編譯。 C++中需要定義眾多的使用者自訂類型且能夠輸入輸出。 7.2 C++有哪4個預定義的流對象?他們分別與什麼具體裝置相關聯? 標準輸入資料流對象cin、標準輸出資料流對象cout、非緩衝型的標準出錯流對象cerr和緩衝型的標準出錯流對象clog。 cin對應標準輸入裝置
Time of Update: 2018-12-07
@:表示後面的“\”不表示逸出字元。轉義符只針對在代碼中直接寫出的字串。不針對從控制台讀入的字串。控制台讀入什麼就列印什麼,不會轉義。 簡單的類型轉換Console.WriteLine("請輸入一個數字:"); String s1 = Console.ReadLine(); //不能用int來接收 int i1 = Convert.ToInt32(s1);
Time of Update: 2018-12-07
//引用命名空間using System.Drawing.Imaging;using System.Drawing;using System.Drawing.Drawing2D;#region GetPicThumbnail /// <summary> /// 無損壓縮圖片 /// </summary> /// <param name="sFile">原圖片</param> /// <param
Time of Update: 2018-12-07
訪問類型名稱資料庫資料類型OLEDB 類型.NET 架構類型成員名稱文本VarWCharDBTYPE _ WSTRSystem.StringOleDbType.VarWChar備忘錄LongVarWCha RDBTYPE _ WSTRSystem.StringOleDbType.LongVarWChar位元組數:UnsignedTinyIntDBTYPE _ UI 1System.ByteOleDbType.UnsignedTinyInt是 /
Time of Update: 2018-12-07
C#逸出字元\’ 單引號\” 雙引號 \\ 反斜線\0 空\a 警告(產生峰鳴)\b 退格\f 換頁\n 換行\r 斷行符號\t 水平定位字元\v 垂直定位字元JS逸出字元逸出序列字元\b退格\f走紙換頁\n換行\r斷行符號\t橫向跳格