學習筆記-strcpy和strcpy_s安全性比較

我在用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

學習筆記-傳遞const引用

對於比較大的對象,如果將副本傳進函數中,複製,調用建構函式,解構函式,筆記麻煩效率低,所以我們可以把這個對象的引用傳進去.例如void carCopy(Car &destinationCar,const Car &sourceCar){ ...........}這樣子sourceCar就可以保護,不會被修改了.對於一些基本類型,例如int double之類就不必了,完全沒有必要將void Func(int x) 改寫為void Func(const int &x),

學習筆記-null 指標

將delete應用於指標時,它指向的記憶體將被釋放,如果再一次對該指標使用delete,程式將崩潰,因為刪除指標後要將其值設定為0或者NULL(即null 指標),將delete用於null 指標是安全的.#include <iostream>using namespace std;int main(){int* p = 0;//初始化時應該將指標賦值為空白指標 p = new int; *p = 9; cout<<"*p =

學習筆記-new 和delete

昨天我編寫了一個程式,很奇怪,以前從來沒有出現過的#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

TCHAR,LPCSTR,LPSTR,LPCTSTR,LPTSTR簡介

char是C語言標準資料類型,字元型,至於由幾個位元組組成通常由編譯器決定,一般一個位元組。Windows為了消除各編譯器的差別,重新定義了一些資料類型,你提到了另外幾個類型都是這樣。CHAR為單位元組字元。還有個WCHAR為Unicode字元,即不論中英文,每個字有兩個位元組組成。它實際定義在<string.h>裡: typedef unsigned short wchar_t。 下面在看看TCHAR。如果你希望同時為ANSI和Unicode編譯的原始碼,那就要include

學習筆記-int main()和void main()的區別

int main()和void main()編譯運行都正常啊,那麼我們該用哪一個呢?其實這兩個在大多數編譯器兩個都可以,那麼我們該用哪一個呢?兩個都隨便用?應該用int main(){return 0;}因為這個符合ANSI的標準,這個在以後的發展中還是可以使用的,return

學習筆記-const指標,const int * p, int *const p,int const * p的區別

 #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;

表單的樣式詳解

·WS_BORDER建立一個有邊界的視窗。·WS_CAPTION建立一個有標題條的視窗(隱含WS_BORDER風格)。不能與WS_DLGFRAME風格一起使用。·WS_CHILD建立一個子視窗。不能與WS_POPUP風格一起使用。·WS_CLIPCHILDREN當你在父視窗中繪圖時,除去子視窗所佔的地區。在建立父視窗的時候使用。·WS_CLIPSIBLINGS剪裁相關的子視窗,這意味著,當一個特定的子視窗接收到重繪訊息時,WS_CLIPSIBLINGS風格將在子視窗要重畫的地區中去掉與其它子視窗

學習筆記-將類聲明放在*.h的標頭檔,類定義放在*.cpp中,main中#include “*.h”即可

//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

學習筆記-聲明與定義

例如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

學習筆記-衍生類別的建構函式和解構函式

 #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

用VS編譯出可獨立啟動並執行程式

使用vs2010編譯出來的EXE應用程式在別的機子上運行時會提示找不到MSVCR100.dll,這該怎麼解決呢? 一、在運行程式的電腦上安裝vc2010運行庫說明:這種方法需要使用者自己去安裝,一般適用於大型程式,小程式不建議使用。 二、在應用程式同目錄上附帶MSVCR100.DLL檔案說明:這種方法適用於一些小項目,無需使用者另外安裝程式。點我下載msvcr100.dll 三、在程式編譯前配置VS2010項目->屬性->配置屬性->C/C++-代碼產生->運行庫->

學習筆記-模板函數的分號

#include <iostream>using namespace std;template <typename T>void display(const T& element){ cout<<element<<endl;};//這裡有分號,編譯運行都沒有報錯template <typename S>void show(const S& element){

學習筆記-繼承純虛函數

// 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:

Apache 記憶體釋放~

問:為什麼伺服器在連續運行多天后或訪問峰值後,進程中的一個Apache.exe佔用記憶體幾百兆不減少?答:用記事本開啟apache2\conf\httpd.conf,尋找MaxRequestsPerChild,將MaxRequestsPerChild 0改成MaxRequestsPerChild

表單的擴充樣式詳解

·WS_EX_ACCEPTFILES指明用這個風格建立的視窗能夠接受拖放檔案。·WS_EX_CLIENTEDGE指明視窗具有3D外觀,這意味著,邊框具有下沉的邊界。·WS_EX_CONTEXTHELP在視窗的標題條中包含問號。當使用者單擊問號時,滑鼠游標的形狀變為帶指標的問號。如果使用者隨後單擊一個子視窗,子視窗將接收到一個WM_HELP訊息。·WS_EX_CONTROLPARENT允許使用者用TAB鍵遍曆視窗的子視窗。·WS_EX_DLGMODALFRAME指明一個具有雙重邊界的視窗,當你在d

學習筆記-for迴圈中聲明的變數的範圍

以前,在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<<

讀寫設定檔 ini

首先介紹兩個函數:讀取 ini

使用API建立表單

#include <windows.h>// 聲明訊息處理函數LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);// 全域變數char windowName[] = "一個默默無聞的表單";char className[] = "WinClass";/* WinMain函數,程式入口 */int WINAPI WinMain (HINSTANCE hThisInstance,                  

SetTimer函數的用法

什麼時候我們需要用到SetTimer函數呢?當你需要每個一段時間執行一件事的的時候就需要使用SetTimer函數了。 使用定時器的方法比較簡單,通常告訴WINDOWS一個時間間隔,然後WINDOWS以此時間間隔周期性觸發程式。通常有兩種方法來實現:發送WM_TIMER訊息和調用應用程式定義的回呼函數。 1.1 用WM_TIMER來設定定時器先請看SetTimer這個API函數的原型 UINT_PTR SetTimer(  HWND hWnd,              // 視窗控制代碼 

總頁數: 61357 1 .... 9574 9575 9576 9577 9578 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.