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
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
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
linux下還有一種高精度的定時器,那就是posix_timer.我記得以前看代碼的時候CLOCK_REALTIME的定時器似乎用的就是rdtsc指令,不過現在不確定了,先放到一邊。原理上來說,可以在變頻的時候也使用rdtsc指令,因為CPU的頻率我們也是知道的,變頻的時候核心也是知道的。下面是我的timer_create的例子,編譯的時候要加上rt庫,這是linux的realtime庫:gcc -o test test.c#include <stdio.h>#include
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
1.讀寫字元函數putc()與getc()這兩個函數類似於putchar()與getchar()函數。假設fp是一個FILE指標,ch是一個字元變數,ch = getc(fp);// ch = getchar();putc(ch,fp);// putchar(ch);將檔案內容(按字元)輸出到標準輸出的C實現:#include <stdio.h>#include <stdlib.h>/* 將檔案內容(按字元)輸出到標準輸出 */void read_ch(char *
Time of Update: 2017-02-27
關係運算子和運算式在程式中經常需要比較兩個量的大小關係,以決定程式下一步的工作。比較兩個量的運算子稱為關係運算子。在C語言中有以下關係運算子:< 小於<= 小於或等於> 大於>= 大於或等於== 等於!= 不等於關係運算子都是雙目運算子,其結合性均為左結合。關係運算子的優先順序低於算術運算子,高於賦值運算子。在六個關係運算子中,<,<=,>,>=的優先順序相同,高於==和!=,==和!=的優先順序相同。關聯運算式關聯運算式的一般形式為:運算式
Time of Update: 2017-02-27
資料輸出語句本小節介紹的是向標準輸出裝置顯示器輸出資料的語句。在C語言中,所有的資料輸入/輸出都是由庫函數完成的。 因此都是函數語句。本小節先介紹printf函數和putchar函數。printf函數printf函數稱為格式輸出函數,其關鍵字最末一個字母f即為“格式”(format)之意。其功能是按使用者指定的格式,
Time of Update: 2017-02-27
在C++編程中,我們進程會用到數組,這看起來很簡單,因為,數組就是儲存相同類型元素的集合嘛,不過, 當你還沒考慮到數組的地址問題時,一切都是簡單的,如果你接觸了數組中的地址概念,也許你會改變你的想 法。下面,我列出幾個例子,看看這些例子輸出的會是什麼:首先給出數組的定義: int a[10];1. cout<<a<<endl;2. cout<<&a<<endl;3. cout<<a +1<