Time of Update: 2017-01-18
總在寫 總在錯, 面試也還忘記學習就是這麼個過程, 溫故才知新, 望自己謹記忘記不要緊複習就好//排序是有很多種方法的 ,完成從小到大的排列 複製代碼 代碼如下:#include <stdio.h>void sort(int *a,int len){int i=0; int j; int t; for(i=0;i<len;i++)
Time of Update: 2017-01-18
C++告訴我們在回收用 new 分配的單個對象的記憶體空間的時候用 delete,回收用 new[] 分配的一組對象的記憶體空間的時候用 delete[]。 關於 new[] 和 delete[],其中又分為兩種情況:(1) 為基礎資料型別 (Elementary Data Type)分配和回收空間;(2) 為自訂類型分配和回收空間。請看下面的程式。複製代碼 代碼如下:#include <iostream>;using
Time of Update: 2017-01-18
這篇文章所要表述的內容的確很簡單,寫之前,我糾結了很久:寫與不寫。平常swap(a,b)值交換,我們基本都是使用第一種方法,對於數學較好的人,可能會想到第二種方法,想到時,一定感覺很好,。對於彙編或對位有理解的人,可能會想到第三種方法,這個方法很妙。但,真正促使我寫這篇文章的,還是第四種方法,妙,真的很妙,先(b = a),我是真沒想到,我想,這麼好的東西,儘管簡單,但值得發表,以此共用。swap(a,b)值交換的四種方法:複製代碼 代碼如下:void swap(int &a, int &b)&
Time of Update: 2017-01-18
volatile 影響編譯器編譯的結果,指出,volatile 變數是隨時可能發生變化的,與volatile變數有關的運算,不要進行編譯最佳化,以免出錯,(VC++ 在產生release版可執行碼時會進行編譯最佳化,加volatile關鍵字的變數有關的運算,將不進行編譯最佳化。)。例如:複製代碼 代碼如下:volatile int i=10; int j = i; ... int k = i;volatile
Time of Update: 2017-01-18
#define ASPECT_RATIO
Time of Update: 2017-01-18
其基本模式如下:分解:把一個問題分解成與原問題相似的子問題解決:遞迴的解各個子問題合并:合并子問題的結果得到了原問題的解。現在就用遞迴演算法,採用上面的分治思想來解合并排序。 合并排序(非降序)分解:把合并排序分解成與兩個子問題虛擬碼:複製代碼
Time of Update: 2017-01-18
1.MessageBox("這是一個最簡單的訊息框!"); 2.MessageBox("這是一個有標題的訊息框!","標題"); 3.MessageBox("這是一個確定 取消的訊息框!","標題", MB_OKCANCEL ); 4.MessageBox("這是一個警告的訊息框!","標題", MB_ICONEXCLAMATION ); 5.MessageBox("這是一個兩種屬性的訊息框!","標題", MB_ICONEXCLAMATION|MB_OKCANCEL );
Time of Update: 2017-01-18
1. 前序/中序/後序遍曆(遞迴實現)複製代碼 代碼如下:// 前序走訪void BT_PreOrder(BiTreePtr pNode){ if (!pNode) return; visit(pNode); BT_PreOrder(pNode->left); BT_PreOrder(pNode->right); }// 中序遍曆void BT_PreOrder(BiTreePtr
Time of Update: 2017-01-18
看如下代碼:複製代碼 代碼如下:#include<iostream>class TestConstructor{public: TestConstructor() { std::cout<<"TestConstructor()"<<std::endl;
Time of Update: 2017-01-18
事件模型是被廣泛使用的好東西,但是C++標準庫裡沒有現成的,其他實現又複雜或者不優雅,比如需要使用宏。現在VC11可以用在XP下了,那麼就痛快的拿起C++11提供的先進設施組合出一個輕便的實現吧。為了達到簡潔的目的,需要放棄一些特性: 1、不支援判斷函數是否已經綁定過(因為std::function不提供比較方法,自己實現function的話代碼又變多了) 2、需要使用者接收返回的回呼函數標識來移除事件綁定(原因同上)
Time of Update: 2017-01-18
const引用是指向const對象的引用。 複製代碼 代碼如下: const int i = 10; const int &ref = i; 可以讀取ref,但不能修改。這樣做是有意義的,因為i本身就不可修改,當然也不能通過ref來修改了。所以也就有將const變數賦值給非const引用是非法的。 複製代碼 代碼如下: int &ref1 = i; // error: nonconst reference to a const object 非const引用是指向非const類型變數的引用。
Time of Update: 2017-01-18
指標與引用看上去完全不同(指標用操作符“*”和“->”,引用使用操作符“.”),但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他對象。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?
Time of Update: 2017-01-18
原理平滑也稱模糊, 是一項簡單且使用頻率很高的影像處理方法。平滑處理時需要用到一個濾波器。 最常用的濾波器是線性濾波器,線性濾波處理的輸出像素值(例如:)是輸入像素值(例如:)的加權平均: 稱為核, 它僅僅是一個加權係數。均值平滑下面是一個使用blur函數的均值平滑:複製代碼 代碼如下:#include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include
Time of Update: 2017-01-18
簡介 類比銀行的錢數大寫輸出例如345三肆伍方法/步驟 首先開啟VC++ 檔案》》》建立 建立一個C++空白文檔 先聲明標頭檔複製代碼 代碼如下:#include<stdio.h> 聲明變數複製代碼 代碼如下:char *p[10]={"零","一","二","三","四","五","六","七","八","九"}; 由於用到了自訂函數,所以先聲明複製代碼 代碼如下:void PrintInterger(char a[], int len);/*輸出整數部分 */
Time of Update: 2017-01-18
代碼: [cpp] const char *cString = "這是一個C字串, c string"; NSString *nsstring = @"這是個NSString字串, nsstring"; NSLog(@"cString字串-->%s ",cString); NSLog(@"NSString字串-->%@",nsstring); const char *cString2 = [nsstring UTF8String]; NSString *nsstring2 =
Time of Update: 2017-01-18
1、右值引用引入的背景 臨時對象的產生和拷貝所帶來的效率折損,一直是C++所為人詬病的問題。但是C++標準允許編譯器對於臨時對象的產生具有完全的自由度,從而發展出了CopyElision、RVO(包括NRVO)等編譯器最佳化技術,它們可以防止某些情況下臨時對象產生和拷貝。下面簡單地介紹一下CopyElision、RVO,對此不感興趣的可以直接跳過: (1)CopyElision CopyElision技術是為了防止某些不必要的臨時對象產生和拷貝,例如: 複製代碼 代碼如下: structA{
Time of Update: 2017-01-18
有m*n(m <=100,n <=100)個金幣在案頭上排成一個m行n 列的金幣陣列。每一枚金幣或正面朝上或背面朝上。用數字表示金幣狀態,0表示金幣正面朝上,1 表示背面朝上。 金幣陣列遊戲的規則是: (1)每次可將任一行金幣翻過來放在原來的位置上; (2)每次可任選2 列,交換這2 列金幣的位置。 編程任務:給定金幣陣列的初始狀態和目標狀態,編程計算按金幣遊戲規則,將金幣陣列從初始狀態變換到目標狀態所需的最少變換次數。 Input 輸入資料有多組資料。第1行有1
Time of Update: 2017-01-18
即會作一定的判斷。 對指標進行dynamic_cast,失敗返回null,成功返回正常cast後的對象指標; 對引用進行dynamic_cast,失敗拋出一個異常,成功返回正常cast後的對象引用。
Time of Update: 2017-01-18
這篇C語言指標學習經驗總結主要是我入職以來學習C指標過程中的點滴記錄。文檔裡面就不重複書上說得很清楚的概念性東西,只把一些說得不清楚或理解起來比較費解的東西做一下講解,希望能達到以下三個目的1.通過寫這些東西,把我腦袋中關於C的模糊的知識清晰化。2.給初轉C的同事們一點提示和協助。3.也希望各位前輩檢查一下文檔中是否有理解偏差的地方。1 指標的概念分解
Time of Update: 2017-01-18
相信學習C++的人對class這個關鍵字都非常明白,class用於定義類。在模板引入c++後,最初定義模板的方法為: template<class T>...... 在這裡class關鍵字表明T是一個類型,後來為了避免class在這兩個地方的使用可能給人帶來混淆,所以引入了typename這個關鍵字。它的作用同class一樣表明後面的符號為一個類型,這樣在定義模板的時候就可以使用下面的方式了: template<typename