Time of Update: 2018-12-06
我在用vs2008編譯以下程式時#include <iostream>#include <cstring>using namespace std;int main(){char a[5];char b[4]="abc"; strcpy(a,b); cout<<a<<endl;int n; cin>>n;return 0;}輸出視窗1>------ 已啟動產生: 項目: Person, 配置: Debug Win3
Time of Update: 2018-12-06
對於比較大的對象,如果將副本傳進函數中,複製,調用建構函式,解構函式,筆記麻煩效率低,所以我們可以把這個對象的引用傳進去.例如void carCopy(Car &destinationCar,const Car &sourceCar){ ...........}這樣子sourceCar就可以保護,不會被修改了.對於一些基本類型,例如int double之類就不必了,完全沒有必要將void Func(int x) 改寫為void Func(const int &x),
Time of Update: 2018-12-06
將delete應用於指標時,它指向的記憶體將被釋放,如果再一次對該指標使用delete,程式將崩潰,因為刪除指標後要將其值設定為0或者NULL(即null 指標),將delete用於null 指標是安全的.#include <iostream>using namespace std;int main(){int* p = 0;//初始化時應該將指標賦值為空白指標 p = new int; *p = 9; cout<<"*p =
Time of Update: 2018-12-06
昨天我編寫了一個程式,很奇怪,以前從來沒有出現過的#include <iostream>using namespace std;int main(){int a=9;int *p; p=&a; cout<<"a 的地址 "<<p<<endl; delete p; }編譯沒有問題,一旦調試的時候就出問題了user breakpoint called from code at
Time of Update: 2018-12-06
char是C語言標準資料類型,字元型,至於由幾個位元組組成通常由編譯器決定,一般一個位元組。Windows為了消除各編譯器的差別,重新定義了一些資料類型,你提到了另外幾個類型都是這樣。CHAR為單位元組字元。還有個WCHAR為Unicode字元,即不論中英文,每個字有兩個位元組組成。它實際定義在<string.h>裡: typedef unsigned short wchar_t。 下面在看看TCHAR。如果你希望同時為ANSI和Unicode編譯的原始碼,那就要include
Time of Update: 2018-12-06
int main()和void main()編譯運行都正常啊,那麼我們該用哪一個呢?其實這兩個在大多數編譯器兩個都可以,那麼我們該用哪一個呢?兩個都隨便用?應該用int main(){return 0;}因為這個符合ANSI的標準,這個在以後的發展中還是可以使用的,return
Time of Update: 2018-12-06
#include <iostream>using namespace std;int main(){int Int1 = 1;int Int2 = 0;const int* pInt1 = &Int1;int* const pInt2 = &Int2; cout<<"*pInt1 = "<<*pInt1<<endl; cout<<"*pInt2 = "<<*pInt2<<endl;
Time of Update: 2018-12-06
·WS_BORDER建立一個有邊界的視窗。·WS_CAPTION建立一個有標題條的視窗(隱含WS_BORDER風格)。不能與WS_DLGFRAME風格一起使用。·WS_CHILD建立一個子視窗。不能與WS_POPUP風格一起使用。·WS_CLIPCHILDREN當你在父視窗中繪圖時,除去子視窗所佔的地區。在建立父視窗的時候使用。·WS_CLIPSIBLINGS剪裁相關的子視窗,這意味著,當一個特定的子視窗接收到重繪訊息時,WS_CLIPSIBLINGS風格將在子視窗要重畫的地區中去掉與其它子視窗
Time of Update: 2018-12-06
//Shape.h,放入標頭檔檔案夾#include <iostream>using namespace std;#define PI 3.1415926class Shape{public:virtual void Print()=0;virtual float Area()=0;}; class Circle: public Shape{float R;public:Circle(float R);void Print();float Area();};class
Time of Update: 2018-12-06
例如class Car{private:int price;char *brand;public: Car(); Car(int price,char *brand); Car(const Car *car); ~Car();void introduce();}; Car::Car(){}Car::Car(int price,char *brand){this->price = price;this->brand = new
Time of Update: 2018-12-06
#include <iostream>#include <cstring>using namespace std;class Person{char *name;int age;char *address;public: Person(); Person(char *name,char *address,int age); ~Person();void introduce();};class Student: public Person{char
Time of Update: 2018-12-06
使用vs2010編譯出來的EXE應用程式在別的機子上運行時會提示找不到MSVCR100.dll,這該怎麼解決呢? 一、在運行程式的電腦上安裝vc2010運行庫說明:這種方法需要使用者自己去安裝,一般適用於大型程式,小程式不建議使用。 二、在應用程式同目錄上附帶MSVCR100.DLL檔案說明:這種方法適用於一些小項目,無需使用者另外安裝程式。點我下載msvcr100.dll 三、在程式編譯前配置VS2010項目->屬性->配置屬性->C/C++-代碼產生->運行庫->
Time of Update: 2018-12-06
#include <iostream>using namespace std;template <typename T>void display(const T& element){ cout<<element<<endl;};//這裡有分號,編譯運行都沒有報錯template <typename S>void show(const S& element){
Time of Update: 2018-12-06
// LISTING 12.10 - Deriving Abstract Classes from Other Abstract Classes#include <iostream>using namespace std;enum COLOR { Red, Green, Blue, Yellow, White, Black, Brown } ;class Animal // common base to both Mammal and Fish{public:
Time of Update: 2018-12-06
問:為什麼伺服器在連續運行多天后或訪問峰值後,進程中的一個Apache.exe佔用記憶體幾百兆不減少?答:用記事本開啟apache2\conf\httpd.conf,尋找MaxRequestsPerChild,將MaxRequestsPerChild 0改成MaxRequestsPerChild
Time of Update: 2018-12-06
·WS_EX_ACCEPTFILES指明用這個風格建立的視窗能夠接受拖放檔案。·WS_EX_CLIENTEDGE指明視窗具有3D外觀,這意味著,邊框具有下沉的邊界。·WS_EX_CONTEXTHELP在視窗的標題條中包含問號。當使用者單擊問號時,滑鼠游標的形狀變為帶指標的問號。如果使用者隨後單擊一個子視窗,子視窗將接收到一個WM_HELP訊息。·WS_EX_CONTROLPARENT允許使用者用TAB鍵遍曆視窗的子視窗。·WS_EX_DLGMODALFRAME指明一個具有雙重邊界的視窗,當你在d
Time of Update: 2018-12-06
以前,在for迴圈中聲明的變數的範圍為外層語句塊,ANSI標準(ANSI的維基百科)做了修改,規定這些變數的範圍為for迴圈本身的語句塊,但並非所有的編譯器都支援這種改變.我們測試一下C++是否支援這個修改;#include <iostream>using namespace std;int main(){int j=1;for(int i=0;i<2;i++) { j++; } cout<<"i="<<i<<
Time of Update: 2018-12-06
首先介紹兩個函數:讀取 ini
Time of Update: 2018-12-06
#include <windows.h>// 聲明訊息處理函數LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);// 全域變數char windowName[] = "一個默默無聞的表單";char className[] = "WinClass";/* WinMain函數,程式入口 */int WINAPI WinMain (HINSTANCE hThisInstance,
Time of Update: 2018-12-06
什麼時候我們需要用到SetTimer函數呢?當你需要每個一段時間執行一件事的的時候就需要使用SetTimer函數了。 使用定時器的方法比較簡單,通常告訴WINDOWS一個時間間隔,然後WINDOWS以此時間間隔周期性觸發程式。通常有兩種方法來實現:發送WM_TIMER訊息和調用應用程式定義的回呼函數。 1.1 用WM_TIMER來設定定時器先請看SetTimer這個API函數的原型 UINT_PTR SetTimer( HWND hWnd, // 視窗控制代碼