Time of Update: 2018-12-05
這是我編寫出來的,程式要求:當使用者輸入任意包含a的字串時,都替換成b,如果是“aa”替換成“b2”,程式很簡單希望對新手學習有協助。#include <stdio.h>#include <stdlib.h>void fun(char a[]){ int i; for(i=0;a[i]!='/0';i++) { if(a[i]=='a'&&a[i+1]=='a') {
Time of Update: 2018-12-05
inl 檔案是內嵌函式的源檔案。內嵌函式通常在c++標頭檔中實現,但有的時候內嵌函式較多或者出於一些別的考慮(使標頭檔看起來更簡潔等),往往會將這部分具體定義的代碼添加到INL檔案中,然後在該標頭檔的末尾將其用#include引入。由此也可以看到inl檔案的例外一個用法的影子——模板函數、模板類的定義代碼的存放。對於比較大的工程來說,出於管理方面的考慮,模板函數、模板類的聲明部分一般存放在一個或少數幾個檔案中,而將其定義部分存放在inl檔案中,然後在相應的標頭檔中包含進來。 簡單架構如下: /
Time of Update: 2018-12-05
Boost C++ 函式庫(Libraries)是一組擴充C++功能性的經過同行評審(Peer-reviewed)且開放源碼程式庫。大多數的函式為了能夠以開放源碼、封閉專案的方式運作,而授權於Boost軟體授權條款(Boost Software
Time of Update: 2018-12-05
從文法上來講,一個函數被聲明為protected或者private,那麼這個函數就不能從“外部”直接被調用了。對於protected的函數,子類的“內部”的其他函數可以調用之。而對於private的函數,只能被本類“內部”的其他函數說調用。文法上就是這麼規定的,你肯定也知道的咯。那麼為什麼有時候將建構函式或者解構函式聲明為protected的或者private的?通常使用的情境如下:1。如果你不想讓外面的使用者直接構造一個類(假設這個類的名字為A)的對象,而希望使用者只能構造這個類A的子類,那你
Time of Update: 2018-12-05
在物件導向的語言裡面,出現了類的概念。這是編程思想的一種進化。所謂類:是對特定資料的特定操作的集合體。所以說類包含了兩個範疇:資料和操作。而C語言中的struct僅僅是資料的集合。(liyuming1978@163.com) 1.執行個體:下面先從一個小例子看起 #ifndef C_Class #define C_Class struct#endif C_Class A { C_Class A *A_this; void (*Foo)(C_Class A
Time of Update: 2018-12-05
相信很多人都看過設計模式方面的書,大家有什麼體會呢?Bridge,Proxy,Factory這些設計模式都是基於抽象類別的。使用抽象對象是這裡的一個核心。 其實我覺得架構化編程的一個核心問題是抽象,用抽象的對象構建程式的主體架構,這是物件導向編程的普遍思想。用抽象構建骨架,再加上多態就形成了一個完整的程式。由於C++語言本身實現了繼承和多態,使用這樣的編程理念(理念啥意思?跟個風,嘿嘿)在C++中是十分普遍的現象,可以說Virtual(多態)是VC的靈魂。
Time of Update: 2018-12-05
位元運算符有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。 優先順序從高到低,依次為~、&、^、|。按位與運算有兩種典型用法:①取一個位串資訊的某幾位,如以下代碼截取x的最低7位:x & 01111111。②讓某變數保留某幾位,其餘位置0,如以下代碼讓x只保留最低6位:x = x &
Time of Update: 2018-12-05
有關 extern "C"搞過C和C++混編的同志們都知道這個啥意思。這兒有講:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html但看一下下面的這個代碼:#include <iostream>using namespacestd;extern "C" { int g_inta; }int main (void){ g_inta = 1; cout << g_inta <<
Time of Update: 2018-12-05
scanf<cstdio>int scanf ( const char * format, ... );Read formatted data from stdinReads data from stdin and stores them according to the parameter format into the locations pointed by the additional arguments.The additional arguments should
Time of Update: 2018-12-05
《C++標準程式庫》讀後感讀書筆記:《C++標準程式庫》學習筆記1–第二章&第三章《C++標準程式庫》- 學習筆記2–第四章《C++標準程式庫》學習筆記3 — 第五章《C++標準程式庫》學習筆記4 — 第六章《C++標準程式庫》學習筆記5 — 第七章《C++標準程式庫》學習筆記6 — 第八章《C++標準程式庫》學習筆記7 — 第九章《C++標準程式庫》學習筆記8 — 第十章《C++標準程式庫》學習筆記9 — 第十一章《C++標準程式庫》學習筆記10 —
Time of Update: 2018-12-05
1,時間的擷取:通過time()函數來獲得日曆時間(Calendar Time),其原型為:time_t time(time_t * timer);#include "stdafx.h"#include "time.h"#include "stdio.h"#include "stdlib.h"int main(void){struct tm t; //定義tm時間結構,用來儲存時間格式的資料資訊time_t t_of_day; //定義time_t時間結構t.tm_
Time of Update: 2018-12-05
c語言裡函數rand()和srand()的用法 rand(void)用於產生一個偽隨機unsigned int 整數。srand(seed)用於給rand()函數設定種子。srand 和 rand 應該組和使用。一般來說,srand 是對 rand 進行設定。比如:srand((UINT)GetCurrentTime());int x = rand() % 100;是產生 0 到 100
Time of Update: 2018-12-05
C++日期時間與字串間的轉換VC6中CString sTime = _T("2007-10-26 13:20:30"); char *charTime = (LPSTR)(LPCTSTR)sTime;CString sFormat = _T("%d-%d-%d %d:%d:%d");char *charFormat =
Time of Update: 2018-12-05
CMapXPoints Pnts; //點集對象 CMapXFeatureFactory FeaFac; CMapXLayer Layer; CMapXFeature Feature; CMapXStyle Style; double centerX,centerY; //得到地圖的中心 centerX=m_ctrlMapX.GetCenterX(); centerY=m_ctrlMapX.GetCenterY(); Pnts.CreateDispatch(P
Time of Update: 2018-12-05
檔案的輸入輸出函數 鍵盤、顯示器、印表機、磁碟機等邏輯裝置, 其輸入輸出都可以通過文 件管理的方法來完成。而在編程時使用最多的要算是磁碟檔案, 因此本節主要以 磁碟檔案為主, 詳細介紹Turbo C2.0提供的檔案操作函數, 當然這些對檔案的操 作函數也適合於非磁碟檔案的情況。 另外, Turbo C2.0提供了兩類關於檔案的函數。一類稱做標準檔案函數也稱 緩衝型檔案函數, 這是ANSI標準定義的函數; 另一類叫非標準檔案函數, 也稱非
Time of Update: 2018-12-05
1. 介紹Log4cxx是開放原始碼項目Apache Logging Service的子項目之一,是Java社區著名的log4j的c++移植版,用於為C++程式提供日誌功能,以便開發人員對目標程式進行調試和審計。有關log4cxx的更多資訊可以從Apache Loggin Service的網站http://logging.apache.org獲得。當前的穩定版本為0.9.7,本文內容及範例程式碼都是基於此版本。2.1
Time of Update: 2018-12-05
類類比中使用了大量的函數指標,結構體等等,有必須對此進行效能分析,以便觀察這樣的結構對程式的整體效能有什麼程度的影響。 1.函數調用的開銷#define COUNTER XXvoid testfunc(){ int i,k=0; for(i=0;i<YY;i++){k++;}} 在測試程式裡面,我們使用的是一個測試函數,函數體內部可以通過改變YY的值來改變函數的耗時。測試對比是 迴圈調用XX次函數,和迴圈XX次函數內部的YY迴圈。
Time of Update: 2018-12-05
撰文:周翔這是我在上作業系統課的那個學期寫的一段程式,並組織成了一篇文章。當初被我的摯友曾毅發表在CSTC的論壇上:http://cstc.net.cn/bbs/viewtopic.php?t=457,在此,我把它貼在這兒,希望對大家有所裨益。 學作業系統的進程同步都要涉及到三個經典問題:生產者-消費者問題、讀者-寫者問題和哲學家就餐問題。下面來介紹一下哲學家就餐問題:
Time of Update: 2018-12-05
經常聽見別人說物件導向的程式設計,以前在學校上課的時候,也有開物件導向程式設計這門課。可是不幸的是,這些都是以C++,甚至VC++為基礎的。而更加不幸的是,多年以來我一直是一個C的使用者。在學校的時候,我主要做的是硬體上的驅動層,和底層功能層。在工作以後,又做的是手機上的軟體開發,所有這些都是和C離不開的。雖然我不得不說,C++是一門很好的語言,但是它的編譯速度,代碼效率,編譯後的代碼大小都限制了它在嵌入式上的應用。(但現在的嵌入式CPU越來越快,記憶體容量變大。我覺得用C++也應該沒有什麼問題
Time of Update: 2018-12-05
成員函數指標與高效能的C++委託(上篇) Member Function Pointers and the Fastest Possible C++ Delegates撰文:Don Clugston 翻譯:周翔引子標準C++中沒有真正的物件導向的函數指標。這一點對C++來說是不幸的,因為物件導向的指標(也叫做“閉包(closure)”或“委託(delegate)”)在一些語言中已經證明了它寶貴的價值。在Delphi (Object