Time of Update: 2018-12-04
做C語言程式經常會遇到變態的聲明,學習了msdn上的一篇文章,豁然開朗。char *( *(*var)() )[10]; ^ ^ ^ ^ ^ ^ ^ 7 6 4 2 1 3 51. var被定義為2. 一個指向3的指標3. 一個傳回值為4的函數4. 一個指向5的指標5. 一個擁有10個變數的一維數組,它66. 指向77.
Time of Update: 2018-12-04
我朋友的機子的USB口有一個奇怪的問題:如果插上USB外設開機,開機後USB口就會沒有任何響應,比如,插著USB鍵盤開機,開機後鍵盤根本不能用.而我的機子則有一個類似的更有趣的現象:插著USB外設開機,機子跟本就開不了!或者開機的過程中插上USB外設,則機子立即停住,就像按了Pause鍵一樣!且不管這個問題的原因是什麼,它讓我想起C++和Java的報錯原則.C++傾向與把錯誤扼殺在搖籃裡,盡量在編譯期把錯誤提示出來,不讓它們溜進運行期而JAVA則是“Exception
Time of Update: 2018-12-04
0 級:簡曆上寫著瞭解c++, 實際上不知道mfc 根 VC有什麼區別。 1 級:簡曆上寫著精通c++, 但是僅僅知道mfc, 認為VC就是C++的一切。 2 級:總是使用malloc,或者 char[100] 來獲得記憶體,但不知道怎麼在指定記憶體上面建立對象。 3 級:感覺 std::string 沒有 CString 好用! 聽說過g++。 4 級:會使用 std::string, 認為 c/c++ 很不科學,完全就不是一個語言嘛. 知道4種以上c++ compiler.
Time of Update: 2018-12-04
C++中的求值|副作用|序列點所導致的模糊語義前一陣子一個偶然的機會,在soloist的blog上(http://blog.csdn.net/soloist)看到一篇關於C/C++中的一個十分曆史悠久的問題的討論,即運算式求值的問題。說實話這個問題著實不新鮮了,被所有論壇提出過無數次,無非就是運算式求值順序不確定的問題嘛。所以我也就沒太在意,soloist那裡吵翻了天,說什麼的都有,熱鬧非凡。當時我就當複習一下,想看看標準對這一塊到底有什麼明確的說法,就隨手翻開了[C++03],結果發現原來情況
Time of Update: 2018-12-04
2. 資料類型與儲存類型C語言中,變數和函數有兩個屬性,資料類型和儲存類別。變數聲明和定義的格式為:[儲存類別] 資料類型 變數名; 如:extern unsigned char g_lumQuantTable[DCT_SIZE][DCT_SIZE];函式宣告的格式為:[儲存類別] 資料類型 函數名(形參列表...); 如:extern void DCT_8x8(double dct[][DCT_SIZE], const double
Time of Update: 2018-12-04
計算19238479821374872198374721983749213794879213749872314乘以19238759823175987123987491238408120348021834098129038590814329085081203840812384結果輸出為:37012449264644883260550643512633299235197983885411332228570233264495097175737596459150365005302557979822148
Time of Update: 2018-12-04
#include <iostream>using namespace std;void merge(int a[], int first, int mid, int last, int c[]){ int i = first,j = mid + 1; int m = mid, n = last; // k 的值與 i的值必須相等,要不無法把c的值回寫給a int k = first; //都還沒有到數組的頭 while (i<=m
Time of Update: 2018-12-04
一時想娛樂一下,寫了一段小程式,使用linux的正則庫匹配ip和email地址#include <sys/types.h>#include <regex.h>#include <iostream>#include <string>#include <map>#include <algorithm>#include <cctype>using namespace std;string
Time of Update: 2018-12-04
B樹的定義一棵B樹T是具有如下性質的有根樹(根為root[T]):1)每個結點x有如下域: a)n[x],當前儲存在結點x中的關鍵字個數; b)n[x]個關鍵字本身,以非降序存放,因此key1 [x]≤key2[x]≤…≤keyn[x][x];
Time of Update: 2018-12-04
類注釋用 ///錯誤資訊可直接 Ctrl+C#region#endregion 摺疊輸入Cw兩次按Tab可快速得到Console.WriteLine();Console.WriteLine("{0}的年齡是{1},學曆是{2}",name,age,edu);Convert.ToString(163); Convert.ToInt32("78");類型轉換Console.Clear(); 清屏out ref 使用者向調用函數傳值,out、ref關鍵詞兩邊都得有if(str1.Equals(str2
Time of Update: 2018-12-04
先是聲明API的類:using System;using System.Runtime.InteropServices;class Win32{ /// <summary> /// 尋找視窗控制代碼 /// </summary> /// <param name="lpClassName">視窗類別名</param> /// <param
Time of Update: 2018-12-04
首先是<FONT color=magenta size=5>工具的選擇。目前流行的開發工具有C++Builder、VC、VB和Delphi,這裡我們選用C++Builder(以下簡稱BCB);VC雖然好,但GUI設計太複雜,為了更好地突出我的例子,集中注意力在<FONT color=magenta size=5>的基本原理上,我們選用可視化的BCB;Delphi也不錯,但缺陷是不能繼承已有的資源(如“死牛崇拜”<FONT color=magenta
Time of Update: 2018-12-04
要做出這個效果,不能在mouseclick,click事件響應函數中寫代碼,因為大部分空白區不會響應該事件,mousedown也不可,應用mouseup事件來響應該要求,代碼如下: private void listView1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) {
Time of Update: 2018-12-04
由於網上對於B+樹和R樹的原理都說得很清楚了,故自己不想再多費口舌解釋該原理了,下面推薦一個網址,相信大家看了之後會對什麼B+樹和R樹有一定地理解: http://blog.csdn.net/v_JULY_v/article/details/6530142 而個人一直覺得,真正要理解一個演算法,最好是去看它實現的代碼,故下面推薦他們代碼實現的: B+樹: http://download.csdn.net/detail/cxz501177639/4949652
Time of Update: 2018-12-04
#include <iostream>#include <iomanip>using namespace std;int main( void ){ const double value = 12.3456789; cout << value << endl; // 預設以6精度,所以輸出為 12.3457 cout << setprecision(4) << value << endl; //
Time of Update: 2018-12-04
OTSU演算法提取映像閾值的C語言實現10 CommentsPosted on 三月 6 2010
Time of Update: 2018-12-04
一、入門:溝通一個觀念,手敲代碼。A、《C++程式設計》《C++Primer》等,學習語言基礎,手敲所有代碼,這是紮馬步,提升興趣、成就感,打下紮實的基礎,不再浮躁。B、《高品質C/C++編程指南》《華為編程規範》等,規範自己的代碼,養成對代碼的審美觀。C、有步驟有講解的百例類的書,忘記書帶的光碟片(把它貼到天花板上),敲所有的例子代碼,學會調試,瞭解VC都能幹什麼。D、也可以看看視頻,比如孫鑫老師的,看看名家怎麼編程,怎麼用MSDN,如果你也能自己重新手敲一遍代碼,你會讓我很佩服。因為視頻容易
Time of Update: 2018-12-04
new會在堆記憶體中開闢空間並初始化,而後將其引用返回。如果不用new,比如:car c1;那麼實際上c1隻是棧上的一個標記而已(應該是4個位元組吧),而沒有完整的內容。 OO思想現在已經在軟體開發項目中廣泛應用,其中最重要的一個特性就是繼承,最近偶簡單的複習了下在C#中涉及到繼承這個特性時,所需要用到的關鍵字,其中有一些關鍵點,特地整理出來,方便大家查閱。一、在C#中,new這個關鍵字使用頻率非常高,主要有3個功能:a) 作為運算子用來建立一個對象和調用建構函式。b)
Time of Update: 2018-12-04
《大話設計模式》中的第一章是一個用簡單原廠模式構建的簡易計算機的例子,在書中的P10-P11頁中有個工廠類OperaationFactory用來構造各個運算類的執行個體,但這裡有個問題:如果需要增加新的運算類,除了要修改介面的代碼,還要在OperaationFactory的switch中增加新的語句!以下用反射很好的解決了這個問題~~~ ///////////以下類編譯為 .dll/////////////////////////////////////////-----------------
Time of Update: 2018-12-04
修改後的計算機代碼,這裡有個這樣問題:如果需要增加新的運算類,除了要修改介面的代碼,還要在OperaationFactory的switch中增加新的語句!運用C#反射技術,可以很好的解決問題,以下代碼不是運用dll,舉個例子-----------------------------------Operation.cs-----------------------------------using System;using System.Collections.Generic;using