Time of Update: 2018-12-05
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <conio.h>#include <iostream.h>#define N 25000 // 待排序元素的個數void insertsort(int R[N+1]) // 直接插入排序{ int i,j; for (i=2; i<=N; i++) { R[0]=R; //
Time of Update: 2018-12-05
#include <iostream>#include<stdio.h>using namespace std;class B{public: void vf() { cout << "This is class B" << endl; }};class D: public B{public: void vf() { cout << "This is class D" <&
Time of Update: 2018-12-05
一個地址本身也是占記憶體的,只是它指向的東西不用再複製一次了轉自:http://blog.chinaunix.net/space.php?uid=589727&do=blog&id=2732640引用的聲明: 基本格式:參考型別 &引用名=被引用對象&運算子:聲明運算子& 跟取地址運算子&和位異或運算子&沒有任何關係extern關鍵字:一般情況下 引用的聲明必須指定被引用對象
Time of Update: 2018-12-05
引用是C++中的概念,初學者容易把引用和指標混淆一起。 一下程式中,n是m的一個引用(reference),m是被引用物(referent)。 int m; int &n =
Time of Update: 2018-12-05
說明:此處內容是在網上摘抄的,總結一下,為了以後尋找方面。new是在堆上分配記憶體,它需要用delete釋放,否則會造成記憶體流失(使用的記憶體沒有即時釋放,造成記憶體的浪費)而A a在右大括弧執行後,會自動釋放記憶體如int main(){A a;//定義了一個a對象A *p=new A;//在堆上定義了一個對象,它的指標儲存在p裡,注意,堆上定義的對象沒有名字,必須用指標儲存return 0;}//a到這裡的時候,它佔用的記憶體就會被回收 而p,除非調用delete p;
Time of Update: 2018-12-05
引自:http://blog.baisi.net/?116670/viewspace-4407試看下面的代碼:#include <iostream>using namespace std; void f(int &a) { cout << "f(" << a << ") is being called" << endl;} void g(const int &a) { cout << "g("
Time of Update: 2018-12-05
C++語言的建立初衷是“a better
Time of Update: 2018-12-05
在用C++寫要匯出類的庫時,我們經常只想暴露介面,而隱藏類的實現細節。也就是說我們提供的標頭檔裡只提供要暴露的公用成員函數的聲明,類的其他所有資訊都不會在這個標頭檔裡面顯示出來。這個時候就要用到介面與實現分離的技術。 下面用一個最簡單的例子來說明。 類ClxExp是我們要匯出的類,其中有一個私人成員變數是ClxTest類的對象,各個檔案內容如下: lxTest.h檔案內容:class ClxTest { public: ClxTest(); virtual ~ClxTest();
Time of Update: 2018-12-05
處理 C++ 項目中的 IntelliSense 失敗 確保 Visual C++ 項目不包含任何編譯錯誤。如果項目為組建檔案項目,則請參見如何:對組建檔案項目啟用 IntelliSense。確保 stdafx.h 在包含路徑中。有關 Visual C++ 項目中的包含路徑的更多資訊,請參見 和。如果解決方案中包含 C++ 託管擴充和託管 C++ 新文法的組合,則請根據語言類型將解決方案拆分為多個解決方案。如果前面的步驟都不能解決 IntelliSense 失敗,則可能是解決方案的 .ncb
Time of Update: 2018-12-05
#include <stdio.h>#include <math.h>int isPrime(int n);int main(){ int i = 2; for ( i=2; i<=100; i++) { if(isPrime(i)) printf(\"i = %5d\",i); }}int isPrime(int n){ int i = 0; for(i=1;i<sqrt(n);i++) { if(n%i==0) return 0; }
Time of Update: 2018-12-05
一、printf()函數printf()函數是格式化輸出函數,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函數。printf()函數的調用格式為: printf(\"<格式化字串>\", <參量表>);其中格式化字串包括兩部分內容:一部分是正常字元, 這些字元將按原樣輸出, 另一部分是格式化規定字元,以\"%\"開始,後跟一個或幾個規定字元用來確定輸出內容格式。
Time of Update: 2018-12-05
通訊Server:#pragma comment(lib, "ws2_32.lib")#include <Winsock2.h>#include <stdio.h> void main(){//版本協商WORD wVersionRequested;WSADATA wsaData; int err; wVersionRequested = MAKEWORD(1,1); //0x0101err =
Time of Update: 2018-12-05
轉自: http://blog.chinaunix.net/u3/94145/showart.php?id=1911814C語言編譯全過程編譯的概念:編譯器讀取來源程式(字元流),對之進行詞法和文法的分析,將進階語言指令轉換為功能等效的彙編代碼,再由組譯工具轉換為機器語言,並且按照作業系統對可執行檔格式的要求連結產生可執行程式。編譯的完整過程:C來源程式-->先行編譯處理(.c)-->編譯、最佳化程式(.s、.asm)-->組譯工具(.obj、.o、.a、.ko)-->連
Time of Update: 2018-12-05
main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 輸出:2,5 *(a+1)就是a[1],*(ptr-1)就是a[4],執行結果是2,5 &a+1不是首地址+1,系統會認為加一個a數組的位移,是位移了一個數組的大小(本例是5個int) int *ptr=(int *)(&a+1); 則ptr實際是&(a[5]
Time of Update: 2018-12-05
C++堆與棧的區別 轉載:http://blog.chinaunix.net/space.php?uid=589727&do=blog&id=2732643一、預備知識—程式的記憶體配置 一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收
Time of Update: 2018-12-05
C++的static有兩種用法:面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函數,不涉及類;後者主要說明static在類中的作用。一、面向過程設計中的static1、靜態全域變數在全域變數前,加上關鍵字static,該變數就被定義成為一個靜態全域變數。我們先舉一個靜態全域變數的例子,如下://Example 1#include <iostream.h>void fn();static int n; //定義靜態全域變數void
Time of Update: 2018-12-05
GCC是在Linux上使用最為廣泛的C語言和C++語言的編譯工具了,C語言和Java不一樣,產生一個可執行檔分為編譯和串連兩部分。我們分別來簡單看一下。 比如我們編寫一個一個Test.c的應用程式,首先需要編譯這個代碼。命令如下gcc -c Test.c 我們會發現在目前的目錄下就會產生一個叫做Test.o的二進位檔案,這個檔案就是編譯的產物,不過是不能直接啟動並執行,需要和外部的lib進行link以後才能產生可執行檔,命令如下gcc -o Test.
Time of Update: 2018-12-05
在Linux中,C語言編程的永遠讓人最頭痛的問題還是記憶體管理了。特別在記憶體釋放上面,其中有一個標準就是記憶體一定要釋放,否則就會造成記憶體泄露問題。但是釋放的時候也要隨時注意,因為釋放一次是OK的,但是同一塊記憶體釋放2次的話就是錯誤的了。
Time of Update: 2018-12-05
C/C++ code:f9 —— 設定/取消斷點f10 —— 逐步執行f11 —— 比f10的步幅小f10在函數的調用時,直接跳過,在f11下,會進入函數體! f5 —— 執行到下一個斷點! 瞭解調試,首先要知道"斷點"這個概念。斷點就是程式運行中可能會中斷的地方,方便開發人員在程式啟動並執行過程中查看程式當前的運行狀態,比如變數的值,函數的傳回值等等。究竟怎麼使用斷點呢? 1.F9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點。
Time of Update: 2018-12-05
是用連結的編譯器 4.1.2 編譯qt4.5.2,./configure 能過,make就過不了了,如下錯誤<built-in>:0: note: candidates are: void* operator new(unsigned int)make[1]: *** [.pch/release-shared-emb-arm/QtCore.gch/c++] 錯誤 1make[1]: Leaving directory