Time of Update: 2017-02-27
we have four specific castingoperators:dynamic_cast, reinterpret_cast, static_cast and const_cast. Their format is to follow the new type enclosed between angle-brackets (<>) and immediately after, the expression to be converted between
Time of Update: 2017-02-27
全排列,比如字母ABC,所有排列有A ,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA.//原理是插入, 在一個字串的所有位置插入新字元.//如: AB 插入C , 位置有 1A2B3, 插入後形成 CAB ACB ABCchar *AllList(char *str, int *pNum)...{ int i, j, k, n; int len = strlen(str); int Total = 0; int count,
Time of Update: 2017-02-27
在前面說到過每一個iostream對象都有一個緩衝區,我們稱之為流緩衝區,那個這個所謂的流緩衝區是怎 麼存在的呢?iostreams中將該流緩衝區抽象為一個類,即streambuf類。每個iostream的類都會包含 一個指向streambuf對象的指標,這也就意味著我們可以直接的去訪問到這個指標,並向該streambuf對象發送 訊息等(但是一般情況下我們並不需要這樣做)。既然說我們可以得到這個指標,那isotreams類當然
Time of Update: 2017-02-27
iostreams中共有四個狀態標誌位定義在ios_base中,具體如下:namespace std { class ios_base { public: typedef implementation-defined-bitmask-type iostate; static const iostate badbit; static const iostate eofbit; static const
Time of Update: 2017-02-27
本文試圖在.net Framework環境下,使用C#語言來描述委託、事件的概貌。希望本文能有助於大家理 解委託、事件的概念,理解委託、事件的用途,理解它的C#實現方法,理解委託與事件為我們帶來的好處 。C#是一種新的語言,希望大家能通過本文清楚地看到這些,從而可以對委託、事件等技術進行更深入的 理解和探索。一. 委託委託的本質--在C#中,委託是一個特殊的類;--在某種程度上,相當於C++的函數指標;--在某種程度上,相當於介面(Interface);委託的定義--關鍵字:delegate--
Time of Update: 2017-02-27
C#介面是一個讓很多初學者容易迷糊的東西,用起來好象很簡單,定義介面,然後在裡面定義方法, 通過繼承與他的子類來完成具體的實現。但沒有真正認識介面的作用的時候就覺得用介面是多此一舉,當 然你這樣想是絕對錯誤的。在軟體設計中有一個非常重要的原則就是:面向介面編程,依賴與介面或抽象 層。可見介面在真正的開發中是多麼的重要。在之前C#編程利器之一:類(Class)一文裡介紹了類的相關知識,本文主要介紹OO編程中的另一個重要 知識點--介面。在某種程度上說,介面也是類,一種特殊的類或抽象類別。
Time of Update: 2017-02-27
list.htypedef int ElementType;#ifndef LIST_H_INCLUDED#define LIST_H_INCLUDEDstruct Node;typedef struct Node *PtrToNode;typedef PtrToNode List;typedef PtrToNode Position;List CreateList();void DisposeList(List L);List MakeEmpty(List L);int
Time of Update: 2017-02-27
物件導向的程式設計(Object-Oriented Programming,簡記為OOP)是一種功能非常強大的編程方法, 立意於建立軟體重用代碼,以類為基礎去思考編程問題。類是OOP中的核心組成元素,通常都是使用類來 “封裝”對象(屬性、行為)。在經典圖書《代碼大全》裡定義:“建立高品質的類,第一步,可能也是 最重要的一步,就是建立一個好的介面。這也包括了建立一個可以通過介面來展現的合理的抽象,並確保
Time of Update: 2017-02-27
讀者可能懷疑:連if、for、while、goto、switch這樣簡單的東西也要探討編程風格,是不是小題大做?我真的發覺很多程式員用隱含錯誤的方式寫運算式和基本語句,我自己也犯過類似的錯誤。運算式和語句都屬於C++/C的短語結構文法。它們看似簡單,但使用時隱患比較多。本章歸納了正確使用運算式和語句的一些規則與建議。4.1 運算子的優先順序C++/C語言的運算子有數十個,運算子的優先順序與結合律如表4-1所示。注意一元運算子 + - * 的優先順序高於對應的二元運算子。
Time of Update: 2017-02-27
回顧“被動方式”開發在C#對遊戲手柄的編程開發-API篇(1)這篇文章中我們介紹了“被動方式”的開發。在此方式下,我們 的程式只扮演一個訊息接收者。系統會定時告訴我們某個遊戲手柄當前的狀態,我們的程式接收到後再按 實際需要進行處理即可。但如果你是一個細心的人,你會發現如果直接按訊息事件處理的話會存在一個問 題,如我們按下某個鍵(比如向上的方向鍵)然後放開時,對於我們“人”來說,我們按下與彈起的這兩
Time of Update: 2017-02-27
一、委託當我們需要把方法做為參數傳遞給其他方法的時候,就需要使用委託。因為有時候,我們要操作的對象,不是針對資料進行的,而是針對某個方法進行的操作。我們還是來以代碼入手using System;namespace gosoa.com.cn{ public class test { public delegate string GetAString(); public static void Main() { int x=10;
Time of Update: 2017-02-27
這是一個C語言實現多項式除法的代碼執行個體,多項式除法和多項式加減乘不同,比較難以實現,所以一直是各個教材和老師避諱的,故小可今天現醜將其演算法和代碼貼出,演算法和效率上我也不甚滿意,雖不免遺笑於方家,但本著學習進步的原則,希望能得到諸君點撥。大概描述:用被除數的最大項除以除數最大項,然後用這個商遍乘除數,其間要申請式子的拷貝,然後被除數再減遍乘過後的那個積,差又是下一輪的被除數,如此直到最後被除數冪小於除數,可能說的不很清楚,全部代碼如下(通過turboc調試成功):#include
Time of Update: 2017-02-27
在開發程式時,程式的介面、開放性是兩個非常重要的方面,目前,在Unix系統下啟動並執行程式的介面大都比較死板,而且,在進行功能擴充時也不是很方便。那麼,能不能設計一個象Windows那樣能夠按照使用者要求隨意調整介面,功能擴充方便的程式呢?答案是肯定的。筆者通過實踐,設計了一個菜單程式,使使用者在對菜單的顯式樣式不滿意時,只需通過對菜單參數檔案進行操作即可完成對菜單位置、寬度、長度、是否有邊框等進行調整;在使用者需要進行功能擴充時,也無須改動來源程式,只須對參數檔案進行操作就可將新增功能掛到菜單
Time of Update: 2017-02-27
在C和C++程式員看來,指標既是他們最強有力的工具之一,同時又給他們帶來了很多苦惱之處。因為指標指向的資料類型可能並不相同,比如你可以把int類型的指標指向一個float類型的變數,而這時程式並不會出錯。而且,如果你刪除了一個不應該被刪除的指標(比如Windows中指向主程式的指標),程式就有可能崩潰。由此可見,濫用指標給程式的安全性埋下了隱患。正因為如此,在C#語言中取消了指標這個概念。當然,對指標戀戀不捨的程式員仍然可以在C#中使用指標,但必須聲明這段程式是“非安全(unsafe
Time of Update: 2017-02-27
1. 局部變數:局部變數也叫自動變數,它聲明在函數開始,生存於棧,它的生命隨著函數返回而結束.#include <stdio.h>int main(void){ auto int i = 9; /* 聲明局部變數的關鍵字是auto;因可以省略,幾乎沒人使用 */ printf("%d\n",i); getchar(); return 0;}2. 全域變數:全域變數聲明在函數體外,一般應在函數前;
Time of Update: 2017-02-27
1. 傳值參數(非指標參數):#include <stdio.h>int inc(int x);int main(void){ int num = 1; printf("%d\n",inc(num)); /* 2 */ printf("%d\n",num); /* 1; num 並沒有改變,用作函數參數時只是複製過去 */ getchar(); return 0;}int inc(int x) { x++; return x;
Time of Update: 2017-02-27
Uniscribe是Windows
Time of Update: 2017-02-27
概要字串是什嗎?我們認為,與其說它是一個類,不如說它只是一個ADT(抽象資料類型)。目前C++中的 字串類目前廣泛採用的C++字串類有二:std::string(basic_string,由STL提供)、CString(由MFC或者WTL提供 )。它們的實現非常類似,都是帶引用計數的、基於線性資料結構的字串。不過SGI STL的Rope打破了這個規矩。它採用了一 種基於樹結構的組織方式來實現字串。如何理解字串只是ADT?我們知道,基於值的容器主要有:動 態數組(std::vector)雙向鏈表(
Time of Update: 2017-02-27
字串數組:using System;class MyClass{ static void Main() { string[] arr = new string[3] { "aa", "bb", "cc" }; foreach (string s in arr) Console.WriteLine(s); // aa/bb/cc Console.ReadKey(); }}整數數組:using
Time of Update: 2017-02-27
在C++編程中,我們進程會用到數組,這看起來很簡單,因為,數組就是儲存相同類型元素的集合嘛,不過, 當你還沒考慮到數組的地址問題時,一切都是簡單的,如果你接觸了數組中的地址概念,也許你會改變你的想 法。下面,我列出幾個例子,看看這些例子輸出的會是什麼:首先給出數組的定義: int a[10];1. cout<<a<<endl;2. cout<<&a<<endl;3. cout<<a +1<