Time of Update: 2018-12-04
c語言中交換變數的方法有很多:1.使用中間變數進行交換指標模式:swap( int* p1,int* p2 ){ int p; p = *p1; *p1 = *p2; *p2 = p;}引用變數模式:void swap(int &a,int &b){a+=b;b=a-b;a=a-b;}也可以直接定義成為宏:#define swap(a,b) a+=b;b=a-b;a=a-b2.利用異或,不使用中間變數指標模式:void swap(int *a, int *b){ *a =
Time of Update: 2018-12-04
最早的C編譯器並不檢查下標,而最新的編譯器依然不對它進行檢查。這項任務之所以很困難,是因為下標引用可以作為任意的指標,而不僅僅是數組名。
Time of Update: 2018-12-04
所謂數組引用,即指向數組的引用;如 int a[10] ; int (&b)[10] = a ;如果寫成 int a[10] ; int* &b = a ;將會報錯: cannot convert from 'int [10]' to 'int
Time of Update: 2018-12-04
該函數擷取一個以0或1為原始的數值A[n](n≥1),並要求確定每個連續為1的序列的大小是否為偶數#include <iostream>using namespace std;bool fun(int *a,int n){int i=0;int coun=0;while(i!=n){if(a[i]==1){coun++;i++;}else{i++;if(coun%2!=0)return false;coun=0;}}if(coun%2==0)
Time of Update: 2018-12-04
用於二次開發企業即時通訊源碼(C++/MFC),現在,做一個普通的即時通訊軟體不是一件難事,網上有很多很好的這類軟體的原始碼可以拿來使用。今天就介紹一個我用過,覺得不錯的給大家。軟體叫 XEIM,中文叫飛鴿傳書。要做一個 QQ 一樣的即時通訊,很難,也沒那個必要。我用這個 XEIM 的目的只有一個,就是供我們企業使用。XEIM 本身只有非常簡單的即時通訊功能,它最大的優點就是簡單穩定、開放原始碼,我拿到之後,做了一些針對我們企業內部特殊需求的修改,最後我們公司的這個 XEIM 整合了企業的
Time of Update: 2018-12-04
C++字串完全指引之一(Win32 字元編碼) 文檔作者:Michael Dunn 所屬類別:VC++ 推薦指數:★★★★ 文檔人氣:400 本周人氣:14 發布日期:2006-7-12 引言 毫無疑問,我們都看到過像 TCHAR, std::string, BSTR 等各種各樣的字串類型,還有那些以 _tcs
Time of Update: 2018-12-04
一直對位元運算的操作理解不是很深刻,偶然看到一篇部落格,感覺豁然開朗。資料來源:http://blog.csdn.net/masefee/archive/2010/01/26/5258432.aspx 位元運算跟二進位聯絡非常緊密,二進位這個概念相信大家都不陌生,我們的位元運算也就是在這些0或1上進行操作。比如:7的8位二進位為: 0000 01117的32位二進位為: 0000 0000 0000 0000 0000 0000 0000
Time of Update: 2018-12-04
讀者朋友們可能經常會碰到這樣一個問題,想對某些進行操作時,發現這些檔案正在被其它程式使用,處於開啟狀態,而且是被獨佔開啟,這時是沒法對檔案進行操作的。因此,要想操作這些檔案,必須將開啟這些檔案的進程清除掉。那麼如何乾淨地清除進程呢?其實,在Windows2000作業系統版本中有一個工具程式叫tskill.exe,用它就可以清除掉某個程式的進程,在輸入"tskill
Time of Update: 2018-12-04
解決大問題的一種方法是把它分解成許多小問題理想情況下這些小問題可以很容易地被解決然後再把它們合在一起就可以解決大問題了如果新分割的小問題解決起來還是太大就把它分割得再小一些重複整個過程直到能夠解決每個小問題這個策略就是分而治之divide and conquer 和逐步求精stepwise refinement 書店問題可以分解成四個子問題或任務:1 讀銷售檔案2 根據書名和出版社計算銷售量3 以出版社名稱對書名進行排序4 輸出結果我們知道怎樣解決第1 2 和4
Time of Update: 2018-12-04
1.向上強制類型轉化產生臨時變數 #include <stdio.h> class Base{public: int m_b; Base(){m_b = 1;} void Say(){ m_b=7; };};class Drived:public Base{ int m_d;}; int main(){ Derived d; ((Base)d).Say(); printf("%d", d.m_b); return
Time of Update: 2018-12-04
原帖地址:http://blog.csdn.net/wuyq11/archive/2008/04/13/2288072.aspx 1.硬體環境不同: C/S 一般建立在專用的網路上, 小範圍裡的網路環境, 區域網路之間再通過專門伺服器提供串連和資料交換服務. B/S 建立在廣域網路之上的, 不必是專門的網路硬體環境,例與電話上網, 租用裝置. 資訊自己管理. 有比C/S更強的適應範圍, 一般只要有作業系統和瀏覽器就行 2.對安全要求不同 C/S 一般面向相對固定的使用者群,
Time of Update: 2018-12-04
用Visual C++操作INI檔案 在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入INI檔案中,程式初始化時再讀入.具體應用如下: 一.將資訊寫入.INI檔案中. 1.所用的WINAPI函數原型為: BOOL WritePrivateProfileString( LPCTSTR lpAppName,
Time of Update: 2018-12-04
大家都知道C語言中的隨機函數random,可是random函數並不是ANSI C標準,所以說,random函數不能在gcc,vc等編譯器下編譯通過。那麼怎麼實現VC語言中的隨機函數呢?其實,除了random函數,還有一個rand函數,這個函數也是一個隨機函數,他可以產生從0到rand_max(32767)的隨機數。#i nclude<stdio.h>#i nclude<stdlib.h>int main(){ int k; k = rand();
Time of Update: 2018-12-04
1 源檔案hello.c(文本)--à前置處理器----àhello.i(文本)前置處理器:將#include 包含的檔案內容插入該命令處,檢查全文處理#define宏定義,處理條件編譯命令 #if #endif 將不需要的code屏蔽掉,處理完畢後產生修改後的原始碼hello.i.2 hello.i(文本)----à編譯器------àhello.s(組譯工具 文本)編譯器:詞法分析文法分析,產生一條條的彙編語句如mov ax,bx,相當於是最佳化後的組合語言的源檔案。3 hello.s(
Time of Update: 2018-12-04
第九章
Time of Update: 2018-12-04
不多說廢話咯,代碼裡很清晰,學C++已經3年了,當時很多細節都沒關注過,現在看effective c++ 發現已經錯過了很多經典動作。-_-...class CPoint{int x,y;public:CPoint(int x,int y){//cout<<"constructer be call"<<endl;this->x = x;this->y = y;}CPoint(){x = 1;y = 1;}void operator ++()//return
Time of Update: 2018-12-04
第七章 記憶體管理主線是分配、使用、釋放。分配的話,分配多少合適,有多少可用,分配失敗怎麼處理。7、1記憶體的分配方式三種分配記憶體的方式:1) 從靜態儲存地區分配。記憶體在編譯時間已指派好,這塊記憶體在程式整個運行期間都存在。如全域變數,static變數。2) 在棧上建立。棧記憶體配置運算內建於處理器的指令集中,效率很高,但分配的記憶體容量有限。3) 從堆上分配,亦稱動態分配。運行時用new或malloc申請任意多的記憶體,程式員自己負責在何時free或delete記憶體。7、2
Time of Update: 2018-12-04
第三章 命名規則命名規則應該是給變數、函數和類的命名規則。耳聞過“匈牙利”命名規則。其主要思想是:在變數和函數名中加入首碼以增進人們對程式的理解。如所有字元變數都以’ch’為首碼。若一個變數由ppch開頭,則說明它是指向字元指標的指標。“匈牙利”法最大的缺點就是繁瑣,如int i, j, k;若用“匈牙利”命名規則,則應是int iI, iJ,
Time of Update: 2018-12-04
先說說cxxtest這個測試架構:用cxxtest來編寫測試案例時,我們需要寫的只是一個.h檔案,在這個檔案裡include你要測試的類或函數所在的標頭檔,然後寫各種測試函數。與該.h檔案對應的.cpp檔案是用cxxtest內建的一個指令碼cxxtestgen.pl來產生的(指令碼調用方法請看cxxtest手冊),然後我們就得到了一個.h檔案和一個.cpp檔案,用gcc/g++編譯,得到一個可執行檔,運行此檔案,就執行了你所編寫的測試案例。 使用Google
Time of Update: 2018-12-04
摘要的重要性是不言而喻的,每次發文章我都很糾結如何寫出一個有特色的摘要來,能夠以最為簡短的文字向讀者描述出我所要表達的東西。但是常常出現的問題是,摘要寫得太簡短了,讀者看了不清楚文章究竟要講啥;摘要寫得稍微長點的話自然能夠描述清楚所要表達的東西,但是卻也出現了另外一個問題,就是讀者看到大段的文字描述,覺得枯燥無味,直接二話不說給文章判了個“死刑”,導致這種情況下願意真正的花時間看完摘要的讀者屈指可數,更不用說文章的本文部分了,所以時間長度感慨寫文章最頭疼的莫過於摘要了。很多人在編寫C語言代碼的時