Time of Update: 2018-12-05
/* 作者:耿奕廷 著作權,轉載時請註明出處及作者 */ 假設我要遍曆所有的Label控制項.我們知道一個表單中的所有控制項都是Form.Controls中的成員,想要得到表單中的所以成員,可以用foreach來遍曆Controls屬性中的對象。注意,Controls屬性中包含的對象都是以Control基類形式存在的,這就是說我們只能用foreach(Control temp in
Time of Update: 2018-12-05
reinterpret_cast,const_cast,static_cast,dynamic_cast 顯式類型轉換Cpp代碼 #include<iostream.h> int main(void) { //reinterpret_cast //將一個類型指標轉換為另一個類型指標,這種在轉換不修改指標變數值資料存放格式 //只需在編譯時間重新解釋指標的類型,他可以將指標轉化為一個整型數但不能用於非指標的轉換 double d=9.3;
Time of Update: 2018-12-05
size_type: 由string類類型和vector類類型定義的類型,用以儲存任意string對象或vector對象的長度,標準庫類型將size_type定義為unsigned類型 string抽象意義是字串, size()的抽象意義是字串的尺寸, string::size_type抽象意義是尺寸單位類型 string::size_type它在不同的機器上,長度是可以不同的,並非固定的長度。但只要你使用了這個類型,就使得你的程式適合這個機器。與實際機器匹配。 eg:
Time of Update: 2018-12-05
自己沒事,寫的一個程式,篩法的原理:在n(n為求素數的範圍)以內的數中,把2的倍數都去掉,再把3的倍數都去掉,如此,依次把第一個沒有去掉數的倍數去掉,注意這個數本身不去掉.最後沒被去掉的為所有的素數#include "stdafx.h"#include "string.h"#include "math.h"#include "windows.h"#include "iostream.h"#include "stdlib.h"//一共有三個演算法A B A2 其中A
Time of Update: 2018-12-05
一個C程式的產生要經曆以下步驟: 1.編寫文本代碼,產生C或cpp檔案,這時候它還是文本的; 2.編譯,就是compile,由C編譯器對你寫的代碼進行詞法和句法分析,發現並報告錯誤,有錯時編譯不能通過。如若無錯,則產生中間代碼,副檔名為obj,此時它便是二進位的了;
Time of Update: 2018-12-05
普通的求關係閉包的演算法的時間複雜度是n的四次方,這個演算法是n的三次方,Warshall因此獲得圖林獎。#include <iostream.h>#include <stdio.h>#include <stdlib.h>void main(){ int n_dim=0; cout<<"Input number of dimensions:"; cin>>n_dim; char **array=new char*[n_dim]; /
Time of Update: 2018-12-05
本文提供了一個方法,讓C++源碼和C#源碼一起編譯連結成一個單一的Assembly。 由於C++提供了IJW方法,允許將舊有C++代碼也編譯成Managed 程式碼,因此這篇小文可以用極小的工作量來徹底解決所有C++遺留代碼移植到.NET的問題。 這個方法,再加上前次的小文《您也使用託管C++嗎?》,就可以把C++遺留代碼移植到.NET的所有方法一網打盡了。 好了,言歸正傳。 假設一個很簡單的C++程式,它只有一個函數://c.h#pragma onceint sqr(int n)
Time of Update: 2018-12-05
C#中數組是參考型別,C#定義整型數組方式是:int [ ] intArray = {1,2,3};或int [ ] intArray = new int[10];而C++中定義整型數組的方式是:int intArray[] = {1,2,3};或int * intArray = new int[10];C#中的數組可以是一維的也可以是多維的,同樣也支援矩陣和參差不齊的數組。注意:定義多維陣列(矩陣)的方式是[,,]而定義多維“參差矩陣”的方式是[ ][
Time of Update: 2018-12-05
原帖地址:http://blog.csdn.net/gabby1985/archive/2006/05/11/724911.aspx 我們知道 char *a=new char[10];可以建立一個長度為10的數組。當把定值10換為一個變數時,我們的程式也沒有任何問題,這時可成了名副其實的動態建立數組,如:int n=10;char *a=new char[n];但我們怎麼動態建立一個多維陣列呢?一定有人寫出來這樣的代碼://錯誤碼char **a=new char[10][10];但是在VC6
Time of Update: 2018-12-05
#include <stdio.h>#include <conio.h>#include <math.h>#include <process.h>#define N 5//N個點#define T 3 //T次擬合#define W 1//權函數#define PRECISION 0.00001float pow_n(float a,int n){int i;if(n==0)return(1);float res=a;for(i=1;i<n;
Time of Update: 2018-12-05
概述 調試是一個程式員最基本的技能,其重要性甚至超過學習一門語言。不會調試的程式員就意味著他即使會一門語言,卻不能編製出任何好的軟體。 這裡我簡要的根據自己的經驗列出調試中比較常用的技巧,希望對大家有用。 本文約定,在選擇菜單時,通過/表示分級菜單,例如File/Open表示頂級菜單File的子功能表Open。 設定 為了調試一個程式,首先必須使程式中包含調試資訊。一般情況下,一個從AppWizard建立的工程中包含的Debug
Time of Update: 2018-12-05
Visual C++作為一種程式設計語言, 它同時也是一個整合開發工具, 提供了軟體代碼自動產生和可視化的資源編輯功能。在使用Visual C++開發應用程式的過程中, 系統為我們產生了大量的各種類型的檔案, 在本節中將要詳細介紹Visual C++中這些不同類型的檔案分別起到什麼樣的作用, 在此基礎上對Visual C++如何管理應用程式所用到的各種檔案有一個全面的認識。首先要介紹的是副檔名為dsw的檔案類型, 這種類型的檔案在VC中是層級最高的, 稱為Workspace檔案。在VC中,
Time of Update: 2018-12-05
C/C++數組名與指標區別 引言 指標是C/C++語言的特色,而數組名與指標有太多的相似,甚至很多時候,數組名可以作為指標使用。於是乎,很多程式設計者就被搞糊塗了。而許多的大學老師,他們在C語言的教學過程中也錯誤得給學生講解:"數組名就是指標"。很幸運,我的大學老師就是其中之一。時至今日,我日複一日地進行著C/C++項目的開發,而身邊還一直充滿這樣的程式員,他們保留著"數組名就是指標"的誤解。 想必這種誤解的根源在於國內某著名的C程式設計教程。如果這篇文章能夠糾正許多中國程式員對數組名和
Time of Update: 2018-12-05
C通過運行時堆棧支援遞迴函式的實現。遞迴函式就是直接或間接調用自身的函數。 許多教科書都把電腦階乘和菲波那契數列用來說明遞迴,非常不幸我們可愛的著名的老潭老師的《C語言程式設計》一書中就是從階乘的計算開始的函數遞迴。導致讀過這本經書的同學們,看到階乘計算第一個想法就是遞迴。但是在階乘的計算裡,遞迴並沒有提供任何優越之處。在菲波那契數列中,它的效率更是低的非常恐怖。 這裡有一個簡單的程式,可用於說明遞迴。程式的目的是把一個整數從二進位形式轉換為可列印的字元形式。例如:給出一個值42
Time of Update: 2018-12-05
由系統自動進行類型轉換。原文連結:http://www.hackbase.com/tech/2009-02-02/44968.html 真正實現動態儲存裝置分配,除了利用含指標成員的結構體之外,還需利用C語言提供的幾個標準庫函數。(使用時應包含標頭檔“alloc.h”或“malloc.h”或“stdlib.h”)1.malloc函數:開闢指定大小的儲存空間,並返回該儲存區的起始地址。函數原型為void *malloc(unsigned int
Time of Update: 2018-12-05
1.映像平移 映像平移只是改變映像在螢幕上的位置,映像本身並不發生變化。 假設原映像地區左上方座標為(x0, y0),右下角座標為(x1, y1),將映像分別沿x和y軸平移dx和dy,則新映像的左上方座標為(x0 +dx, y0+dy),右下角座標為(x1+dx, y1+dy)。座標平移變換公式為: x′ = x + dx y′ = y + dy 在螢幕上實現映像的移動分為四個步驟: ⑴ 儲存原映像到緩衝區。 ⑵ 擦除原映像。 ⑶ 計算平移後的新座標。 ⑷
Time of Update: 2018-12-05
/*普通的函數重載是,其函數的參數或者參數類型必須有所不同,函數的傳回型別也可以不同。但是當重載一個虛函數時,也就是說在衍生類別中重新定義虛函數時,要求函數名、傳回型別、參數個數、參數的類型和順序與基類中的虛函數原型完全相同。如果僅僅傳回型別不同,其餘均相同,系統會給出錯誤資訊;若僅僅函數名形同,而參數個數、類型或順序不同,系統會將它作為普通函數重載,這時將丟失虛函數的特性。---------------------------------------虛函數時c++支援運行時的多態性(動態聯編)
Time of Update: 2018-12-05
//point.hclass Point //Point類的聲明{public: //外部介面Point(float xx=0, float yy=0) {X=xx;Y=yy;}float GetX() {return X;}float GetY() {return Y;}friend float linefit(Point l_point[], int n_point); //友元函數//int型變數為點數private: //私人資料成員float X,Y;};//End of point.
Time of Update: 2018-12-05
在讀寫檔案的過程中,Filestream只可以進行以位元組為單位未經處理資料流進行讀寫操作,為此,C#中提供了功能更加強大的StreamReader/ StreamWriter來支援檔案的讀寫. StreamReader/ StreamWriter可以進行以字元為單位的資料讀寫操作..一. 用StreamReader的建構函式StreamReader有很多的建構函式:在這裡只列出兩個常用和比較常見的StreamReader sr=new StreamReader (Stream); Strea
Time of Update: 2018-12-05
ANSI C 提供了3種字元類型,分別是char、signed char、unsigned char.而不是像short、int一樣只有兩種(int預設就是unsigned int).三者都佔1個位元組(1 byte),因此:signed char取值範圍是 -128 到 127(有符號位)unsigned char 取值範圍是 0 到 255這個大家都很清楚!!但是char 呢?範圍是多少?答案是:不一定!!!我們先看一下大師們怎麼說的:(Thinking in C++