锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
姣斿strcpy錛宻trcat錛岄摼琛ㄩ嗗簭錛屾帓搴忥紝瀛楃涓插尮閰嶆煡鎵撅紝媯嫻嬪崟鍚戦摼琛ㄤ笂鐨勭幆絳夌瓑
virtual錛宑onst錛宻tatic錛宔xtern 鈥淐鈥濓紝铏氬嚱鏁拌〃錛屾瀯閫犮佹瀽鏋勫嚱鏁板彲鍚︿負virtual錛岀函铏氬嚱鏁幫紝铏氭嫙緇ф壙
//delete鍙槸閲婃斁鍐呭瓨錛屼笉淇敼鎸囬拡鍙橀噺鐨勫?
//浣犻渶瑕佽嚜宸卞幓璁劇疆 str=NULL
//delete閲婃斁浜嗗爢涓婇潰鐨勫唴瀛橈紝str鏄爤涓婄殑鎸囬拡鍙橀噺
//鍦╲oid Test(void)鍑芥暟涓紝鎴戜滑鍙兘鎵嬪姩鏀瑰彉str鐨勫鹼紝鑰屾棤娉曟墜鍔ㄩ噴鏀炬寚閽堢殑鍐呭瓨
//褰搗oid Test(void)鍑芥暟閫鍑烘椂錛宻tr鏈韓鐨勫唴瀛樻墠閲婃斁鎺?br />/////////////////////////////////////////////////////////
char *GetMemory(void)
{
聽char p[] = "hello world";
聽return p;
}
void Test(void)
{
聽char *str = NULL;
聽str = GetMemory();
聽printf(str);
}
//////////////////////////////////////////////////////////////////////////
int _tmain(int argc, _TCHAR* argv[])
{
聽Test();
聽getchar();
聽return 0;
}
鐢ㄦ寚閽堝姩鎬佸垎閰嶄竴孌靛唴瀛樼┖闂達紝鎸囬拡鎸囧悜鐨勬槸榪欐鍐呭瓨鐨勯鍦板潃錛屽悓鏍風(fēng)殑閲婃斁涔熷彧鏄噴鏀捐繖涓寚閽堟寚鍚戠殑棣栧湴鍧錛屼篃灝辨槸璇磀elete str鍙槸閲婃斁浜嗙涓涓瓧姣峢鐨勫唴瀛樼┖闂淬?br />
涓錛庡~絀洪
(26
鍒?/span>
)
1 錛?/span> WIN32 騫沖彴涓嬶紝 sizeof(short) = __2__ 錛?/span> sizeof(int) = __4__ 錛?/span> sizeof(long) = __4__ 銆?/span> (3 鍒?/span> )
2 錛庤緇欏嚭濡備笅紼嬪簭鐨勭粨鏋?/span> (2 鍒?/span> )
int a = 3;
int b = a << 3;
a = __3__ 錛?/span> b = __24__ 銆?/span>
3 錛庤 緇欏嚭濡備笅紼嬪簭鐨勭粨鏋?/span> (2 鍒?/span> )
int aaa = 0x01;
htonl(aaa) = _16777216___
銆?/span> //榪欓榪愯鏄劇ず鐨勬槸16777216錛屾垜瑙夊緱鍙兘鏄殢鏈哄?/p>
4
錛庤緇欏嚭濡備笅紼嬪簭鐨勭粨鏋?/span>
(2
鍒?/span>
)
#define MAX_NUM 100+200
int nTemp = MAX_NUM*10;
鍒?/span>
Temp = __2100__
銆?/span>
5
錛庤緇欏嚭濡備笅紼嬪簭鐨勭粨鏋?/span>
(3
鍒?/span>
)
char szTemp[1000] = "";
int nLen1 = sizeof(szTemp);
int nLen2 = strlen(szTemp);
strcpy(szTemp, "abc");
int nLen3 = sizeof(szTemp);
int nLen4 = strlen(szTemp);
int nTemp[100];
int *pTemp = nTemp;
int nLen5 = sizeof(pTemp);
char szResult[200] = "";
sprintf(szResult, "%d,%d,%d,%d,%02d.", nLen1, nLen2, nLen3, nLen4, nLen5);
鍒?/span>
szResult = ____
銆?/span>
6
錛?/span>
MFC
涓紝澶ч儴鍒嗙被鏄粠鍝釜綾葷戶鎵胯屾潵錛?/span>
CCmdTarget
銆?/span>
CObject
銆?/span>
CWinApp
銆?/span>
CWnd
錛夛紵
(2
鍒?/span>
)__CObject __
7
錛庡唴瀛樻槸榪涚▼鑼冨洿
or
綰跨▼鑼冨洿錛?/span>
____
CPU
璋冨害鏃訛紝閽堝榪涚▼
or
綰跨▼錛?/span>
____
鍑芥暟璋冪敤鍫嗘爤錛岄拡瀵硅繘紼?/span>
or
綰跨▼銆?/span>
____(3
鍒?/span>
)
8
錛庤皟鐢ㄥ嚱鏁?/span>
bbb
鍚庯紝杈撳嚭鏄粈涔?/span>
(4
鍒?/span>
)
void ccc(int x)
{
聽聽聽聽聽聽 char szTemp[10] = "";
聽聽聽聽聽聽
聽聽聽聽聽聽 x = 2;
聽聽聽聽聽聽 sprintf(szTemp, "%d,", x);
聽聽聽聽聽聽 afxDump << szTemp;
聽聽聽聽聽聽
聽聽聽聽聽聽 if(x = 3)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 int x = 4;
聽聽聽聽聽聽聽聽聽聽聽聽聽 sprintf(szTemp, "%d,", x);
聽聽聽聽聽聽聽聽聽聽聽聽聽 afxDump << szTemp;
聽聽聽聽聽聽 }
聽聽聽聽聽聽
聽聽聽聽聽聽 sprintf(szTemp, "%d,", x);
聽聽聽聽聽聽 afxDump << szTemp;
}
void bbb()
{
聽聽聽聽聽聽 char szTemp[10] = "";
聽聽聽聽聽聽 int x = 7;
聽聽聽聽聽聽
聽聽聽聽聽聽 ccc(x);
聽聽聽聽聽聽
聽聽聽聽聽聽 sprintf(szTemp, "%d,", x);
聽聽聽聽聽聽 afxDump << szTemp;
}
浜岋紟鏀歸敊棰?/span>
(
鎬誨叡
15
鍒?/span>
,
姣忛
5
鍒?/span>
)
銆?/span>
1
錛庝笅闈唬鐮佹湁浣曢敊璇?/span>
void func1()
{
聽聽聽聽聽聽 int *pa = NULL;
聽聽聽聽聽聽 func2(pa);
聽聽聽聽聽聽 delete pa;
}
void func2(int *pb)
{
聽聽聽聽聽聽 pb = new int(5);
}
2
錛庝笅闈唬鐮佹湁浣曢敊璇?/span>
void func2(int *value)
{
聽聽聽聽聽聽 *value = 2;
}
void func1()
{
聽聽聽聽聽聽 int *p = 0;
聽聽聽聽聽聽 func2(p);
}
3
錛?/span>
int func1(int& b)
{
聽聽聽聽聽聽 return 0;
}
void func2()
{
聽聽聽聽聽聽 int bbb = 3;
聽聽聽聽聽聽 func1(&bbb);
聽聽聽聽聽聽 func1(bbb);
}
func2
涓湁浣曢敊璇紝
func1
鐨勫弬鏁?/span>
b
鐨勭被鍨嬫槸浠涔堛?/span>
涓夛紟綆絳旈
(64
鍒?/span>
)
1.
璇風(fēng)畝榪?/span>
C
銆?/span>
C++
銆?/span>
VC
銆?/span>
MFC
鍦ㄦ蹇典笂鐨勫尯鍒?/span>
(4
鍒?/span>
)
2
錛庤鍐欎竴涓嚱鏁伴噸杞界殑綆鍗曚緥瀛?/span>
(4
鍒?/span>
)
3.
鐢ㄤ粈涔堝嚱鏁板紑鍚柊榪涚▼銆佺嚎紼嬨?/span>
(4
鍒?/span>
)
4.SendMessage
鍜?/span>
PostMessage
鏈変粈涔堝尯鍒?/span>
(4
鍒?/span>
)
5.WaitForSingleObject
鏈変綍浣滅敤錛?/span>
m_pThrd
鐨勭被鍨嬫槸
CWinThread*
鏃訛紝
WaitForSingleObject(m_pThrd->m_hThread, INFINITE);
鏈変綍浣滅敤銆?/span>
(4
鍒?/span>
)
6. __stdcall
銆?/span>
__cdecl
銆?/span>
__pascal
鍦ㄤ粈涔堟柟闈㈡湁鎵涓嶅悓銆?/span>
(4
鍒?/span>
)
7
錛庤鎶婁笅榪頒唬鐮佸姞涓婂紓甯稿鐞嗐?/span>
(6
鍒?/span>
)
int MyWriteFile(CString strFileName, CString strText)
{
聽聽聽聽聽聽 int nRet = 0;
聽聽聽聽聽聽
聽聽聽聽聽聽 CFile myFile;
聽聽聽聽聽聽 myFile.Open(strFileName, CFile::modeWrite|CFile::shareExclusive|CFile::modeCreate, NULL);
聽聽聽聽聽聽
聽聽聽聽聽聽 int nLen = strText.GetLength();
聽聽聽聽聽聽 myFile.Write((char*)(LPCSTR)strText, nLen);
聽聽聽聽聽聽
聽聽聽聽聽聽 myFile.Close();
聽聽聽聽聽聽 return nRet;
}
8
錛庤瑙i噴鈥?/span>
func
鈥濅負浣曠綾誨瀷錛岃繖縐嶇被鍨嬬殑浣滅敤浠涔堬紝鍙橀噺
ttt
鐨勫兼槸澶氬皯錛?/span>
(6
鍒?/span>
)
typedef int (*func)(int, int*);
int xxx(int a, int *p)
{
聽聽聽聽聽聽 return a + *p;
}
int dowork(func aaa, int bbb, int *ccc)
{
聽聽聽聽聽聽 return aaa(bbb, ccc);
}
int sss = 4;
int ttt = dowork(&xxx, 3, &sss);
9
錛庤闂笅榪頒唬鐮佷腑
: int operator+(鈥?/span>
錛夎搗浠涔堜綔鐢紵
this
鏄粈涔堬紵
ccc
鐨勫兼渶緇堜負澶氬皯錛?/span>
(6
鍒?/span>
)
class Fruit
{
public:
聽聽聽聽聽聽 Fruit()
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 weight = 2;
聽聽聽聽聽聽 }
聽聽聽聽聽聽 Fruit(int w)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 weight = w;
聽聽聽聽聽聽 }
聽聽聽聽聽聽 int operator+(Fruit f)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 return this->weight * f.weight;
聽聽聽聽聽聽 }
private:
聽聽聽聽聽聽 int weight;
};
聽聽聽聽聽聽 Fruit aaa;
聽聽聽聽聽聽 Fruit bbb(4);
聽聽聽聽聽聽 int ccc = aaa + bbb;
10.
璇瘋В閲婁笅闈唬鐮侀噰鐢ㄤ簡浣曠
C++
鐗規(guī)э紙
C
璇█涓嶅叿澶囷級錛屼綔鐢ㄦ槸浠涔堬紵
(6
鍒?/span>
)
template<typename T>
T sum(T a, T b)
{
聽聽聽聽聽聽 return (a + b);
}
11
錛庤瑙i噴
aaa.h
涓笅闈唬鐮佺殑鍔熻兘
(5
鍒?/span>
)
#if !defined(AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDED_)
#define AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDED_
... ...
#endif
12
錛?/span>
CMemoryState
涓昏鍔熻兘鏄粈涔?/span>
(5
鍒?/span>
)
13
錛庤闃呰涓嬭堪浠g爜錛屽啓鍑虹▼搴忔墽琛岀殑緇撴灉錛?/span>
6
鍒嗭級
#include <iostream>
using namespace std;
class CBase聽
{
public:
聽 virtual void print()
聽 {
聽聽聽 cout<< "base" << endl;
聽 }
聽 void DoPrint()
聽 {
聽聽聽 print();
聽 }
};
class CChild1: public CBase
{
public:
聽 virtual void print()
聽 {
聽聽聽 cout<< "child1" << endl;
聽 }
};
class CChild2: public CBase
{
public:
聽 virtual void print()
聽 {
聽聽聽 cout<< "child2" << endl;
聽 }
};
void DoPrint(CBase *base)
{
聽 base->DoPrint();
}
void main()
{
聽 CBase* base = new CBase();
聽 CChild1* child1 = new CChild1();
聽 CChild2* child2 = new CChild2();
聽 DoPrint(child1);
聽 DoPrint(child2);
聽 DoPrint(base);
聽
聽 delete base;
聽 base = child1;
聽 base->print();
聽 delete child1;
聽 delete child2;
}
]]>
聽聽聽聽聽聽聽聽 1
銆佽瀹炵幇涓涓畬鎴?/span>
Win32 API lstrcpyn
鐨勫嚱鏁幫紝鍙疄鐜?/span>
MBCS
鐗堛?/span>
聽聽聽聽聽聽聽聽 2
銆佽瀹炵幇涓涓?/span>
string
綾葷殑鎷瘋礉鏋勯犲嚱鏁般?br />
涓銆佸浘褰㈠浘鍍?/span>
聽聽聽聽聽聽聽聽
璇鋒寜瑕佹眰瀹屾垚涓涓?/span>
3D
鐨勬紨紺猴紝鍏蜂綋鍐呭璇瘋
Test3d.zip
鏂囦歡錛?/span>
聽聽聽聽聽聽聽聽
浜屻佺綉緇?/span>
聽聽聽聽聽聽聽聽
娓告垙鏈嶅姟鍣ㄧ▼搴忛渶瑕佹彁渚涗竴涓?/span>
Telnet
鏈嶅姟鏉ユ弧瓚沖紑鍙戜漢鍛樺娓告垙鏈嶅姟鍣ㄨ繘琛屽疄鏃剁洃鎺х殑闇姹傦紝璇風(fēng)敤
socket
鏉ュ疄鐜頒竴涓綉緇滄湇鍔″櫒绔ā鍧楋紝鍚屾椂璇鋒彁渚涙祴璇曠▼搴忥紝闇姹傚涓嬶細
1銆?span style="FONT: 7pt 'Times New Roman'">聽聽
璇蜂嬌鐢?/span>
Berkeley Socket
鐨勬爣鍑嗗嚱鏁幫紱
2銆?span style="FONT: 7pt 'Times New Roman'">聽聽
鏈嶅姟鍣ㄦā鍧楃洃鍚爣鍑?/span>
Telnet
鏈嶅姟绔彛錛?/span>
3銆?span style="FONT: 7pt 'Times New Roman'">聽聽
鏈嶅姟鍣ㄦā鍧楀悓涓鏃墮棿鍙帴鏀朵竴涓鎴風(fēng)鐨勮繛鎺ワ紱
4銆?span style="FONT: 7pt 'Times New Roman'">聽聽
鏈嶅姟鍣ㄦā鍧椾負鍗曠嚎紼嬶紱
5銆?span style="FONT: 7pt 'Times New Roman'">聽聽
鏈嶅姟鍣ㄦ祴璇曠▼搴忛氳繃鍥炶皟鍑芥暟澶勭悊鐩稿簲鐨勭綉緇滀簨浠訛紱
6銆?span style="FONT: 7pt 'Times New Roman'">聽聽
鏈嶅姟鍣ㄧ嫻嬭瘯紼嬪簭闇瑕佹彁渚涘洖鏄劇殑鏈嶅姟錛屽皢瀹㈡埛绔緭鍏ョ殑瀛楃鍥炲啓鍏ュ鎴風(fēng)銆?/span>
絳旀
錛?/span>
璇鋒彁渚涘彲浠ョ紪璇戠殑
c/c++
婧愭枃浠跺茍鏍囪鍑烘槸鍩轟簬鍝釜鎿嶄綔緋葷粺錛屾搷浣滅郴緇熶粎闄愪簬錛?/span>
Windows/Linux/FreeBSD
銆?/span>
涓夈佹暟鎹簱
聽聽聽聽聽聽聽聽
鍦ㄦ父鎴忎腑闇瑕佷繚瀛樺ソ鍙嬪垪琛紝姣忎釜鐜╁鏈澶氬彲浠ユ湁
1000
涓ソ鍙嬶紝姣忎釜鐜╁鐨勬暟鎹腑鍖呮嫭璐﹀彿錛屾樀縐幫紝騫撮緞錛屾у埆錛屽叾涓帺瀹跺彲浠ラ氳繃鏄電О鏉ユ悳绱㈠埌鍏朵粬鐜╁錛岃璁捐涓涓暟鎹簱鏉ヤ繚瀛樻瘡涓帺瀹朵俊鎭拰瀵瑰簲璇ョ帺瀹剁殑濂藉弸鍒楄〃淇℃伅錛岃姹傦細
1銆?span style="FONT: 7pt 'Times New Roman'">聽聽
瑕佷繚璇佹暟鎹簱鍦ㄦ悳绱㈡寚瀹氱帺瀹剁殑濂藉弸鍒楄〃淇℃伅鏃剁殑鏁堢巼錛?/span>
2銆?span style="FONT: 7pt 'Times New Roman'">聽聽
涓嶆氮璐規(guī)暟鎹簱鐨勫瓨鍌ㄧ┖闂達紱
3銆?span style="FONT: 7pt 'Times New Roman'">聽聽
瀵逛簬闇姹傜殑鏀瑰彉瑕佹湁寰堝己鐨勯傚簲鍔涳紝濡傚ソ鍙嬪垪琛ㄧ殑涓婇檺浠?/span>
1000
鍙樹負
2000
錛岀帺瀹剁殑鏁版嵁涓柊澧炲姞涓欏硅韓浠借瘉鍙楓?/span>
絳旀
璇鋒彁渚涚敤浜庡緩绔嬭〃鐨?/span>
SQL
璇彞鍜屾煡璇㈡寚瀹氭樀縐扮帺瀹剁殑鎵鏈夊ソ鍙嬩俊鎭紝騫舵爣璁板嚭鏄湪鍝釜鏁版嵁搴撳鉤鍙頒笂鍋氱殑嫻嬭瘯銆?/span>
struct聽
{
聽short a1;
聽short a2;
聽short a3;
}A;
struct
{
聽long a1;
聽short a2;
}B;
int _tmain(int argc, _TCHAR* argv[])
{
聽char* ss1 = "0123456789";
聽char ss2[] = "0123456789";
聽char ss3[100] = "0123456789";
聽int ss4[100];
聽char q1[] = "abc";
聽char q2[] = "a\n";
聽char* q3 = "a\n";
聽char聽 *str1 = (char*)malloc(100);
聽void聽 *str2 = (void*)malloc(100);
聽cout<<sizeof(ss1)<< " ";
聽cout<<sizeof(ss2)<< " ";
聽cout<<sizeof(ss3)<< " ";
聽cout<<sizeof(ss4)<< " ";
聽cout<<sizeof(q1)<< " ";
聽cout<<sizeof(q2)<< " ";
聽cout<<sizeof(q3)<< " ";
聽cout<<sizeof(A)<< " ";
聽cout<<sizeof(B)<< " ";
聽cout<<sizeof(str1)<< " ";
聽cout<<sizeof(str2)<< " ";
聽getchar();
聽return 0;
}
緇撴灉 4聽 11聽 100聽 400 4 3 4 6 8 4 4
void foo(void)
{
聽聽 unsigned int a = 6;
聽聽 int b = -20;
聽 (a+b>6)?puts(">6"):puts("<=6");
}
緇撴灉聽聽 >6
聽鍋氶敊浜嗭紝榪欓
b浼氳漿鎹負 unsigned int 錛岄偅涔堟渶楂樹綅鏄?錛屾墍浠鐨勬暟瀛楀氨寰堝ぇ浜嗭紝鑲畾澶т簬6
6.#define鍜宼ypede鐨勫尯鍒紝浣犳洿鍠滄鍝錛焀hy?
絳旀:
1) 聽 #define鏄澶勭悊鎸囦護錛屽湪緙栬瘧棰勫鐞嗘椂榪涜綆鍗曠殑鏇挎崲錛屼笉浣滄紜ф鏌ワ紝涓嶅叧鍚箟鏄惁姝g‘鐓ф牱甯﹀叆錛屽彧鏈夊湪緙栬瘧宸茶灞曞紑鐨勬簮紼嬪簭鏃舵墠浼氬彂鐜板彲鑳界殑閿欒騫舵姤閿欍備緥濡傦細 聽
聽 聽 #define 聽 PI 聽 3.1415926 聽
聽 聽 紼嬪簭涓殑錛歛rea=PI*r*r 聽 聽 浼氭浛鎹負3.1415926*r*r 聽
聽 濡傛灉浣犳妸#define璇彞涓殑鏁板瓧9 聽 鍐欐垚瀛楁瘝g 聽 棰勫鐞嗕篃鐓ф牱甯﹀叆銆?聽
聽 聽
聽 2錛塼ypedef鏄湪緙栬瘧鏃跺鐞嗙殑銆傚畠鍦ㄨ嚜宸辯殑浣滅敤鍩熷唴緇欎竴涓凡緇忓瓨鍦ㄧ殑綾誨瀷涓涓埆鍚嶏紝浣嗘槸You 聽 cannot 聽 use 聽 the 聽 typedef 聽 specifier 聽 inside 聽 a 聽 function 聽 definition銆?聽
聽 聽
聽 3錛塼ypedef 聽 聽 int 聽 * 聽 int_ptr; 聽
聽 涓?聽
聽 聽 聽 聽 聽 聽 #define 聽 int_ptr 聽 int 聽 * 聽 聽
聽 聽 浣滅敤閮芥槸鐢╥nt_ptr浠h〃 聽 int 聽 * 聽 ,浣嗘槸浜岃呬笉鍚岋紝姝e鍓嶉潰鎵璇?聽 錛?define鍦ㄩ澶勭悊 聽 鏃惰繘琛岀畝鍗曠殑鏇挎崲錛岃宼ypedef涓嶆槸綆鍗曟浛鎹?聽 錛岃屾槸閲囩敤濡傚悓瀹氫箟鍙橀噺鐨勬柟娉曢偅鏍鋒潵澹版槑涓縐嶇被鍨嬨備篃灝辨槸璇? 聽
聽 聽
聽 //refer 聽 to 聽 聽 聽 聽 (xzgyb(鑰佽揪鎽?) 聽
聽 #define 聽 int_ptr 聽 int 聽 * 聽
聽 int_ptr 聽 a, 聽 b; 聽 聽 //鐩稿綋浜巌nt 聽 * 聽 聽 a, 聽 b; 聽 鍙槸綆鍗曠殑瀹忔浛鎹?聽
聽 聽
聽 typedef 聽 int* 聽 int_ptr; 聽
聽 int_ptr 聽 a, 聽 b; 聽 聽 //a, 聽 b 聽 閮戒負鎸囧悜int鐨勬寚閽?typedef涓篿nt* 聽 寮曞叆浜嗕竴涓柊鐨勫姪璁扮 聽
聽 聽
聽 聽
聽 榪欎篃璇存槑浜嗕負浠涔堜笅闈㈣鐐規(guī)垚绔?聽
聽 //QunKangLi(緇存姢鎴愭湰涓庣▼搴忓憳鐨勫垱閫犲姏鐨勫鉤鏂規(guī)垚姝f瘮) 聽
聽 typedef 聽 int 聽 * 聽 pint 聽 ; 聽
聽 #define 聽 PINT 聽 int 聽 * 聽
聽 聽
聽 閭d箞錛?聽
聽 const 聽 pint 聽 p 聽 ;//p涓嶅彲鏇存敼錛屼絾p鎸囧悜鐨勫唴瀹瑰彲鏇存敼 聽
聽 const 聽 PINT 聽 p 聽 ;//p鍙洿鏀癸紝浣嗘槸p鎸囧悜鐨勫唴瀹逛笉鍙洿鏀廣?聽
聽 聽
聽 pint鏄竴縐嶆寚閽堢被鍨?聽 聽 const 聽 pint 聽 p 聽 灝辨槸鎶婃寚閽堢粰閿佷綇浜?聽 聽 p涓嶅彲鏇存敼 聽
聽 鑰宑onst 聽 PINT 聽 p 聽 聽 聽 鏄痗onst 聽 int 聽 * 聽 聽 p 聽 聽 閿佺殑鏄寚閽坧鎵鎸囩殑瀵硅薄銆?聽
聽 聽
聽 3錛変篃璁告?zhèn)ㄥ凡缁忔敞鎰忓?define 聽 涓嶆槸璇彞 聽 聽 涓嶈鍦ㄨ鏈姞鍒嗗彿錛屽惁鍒?聽 聽 浼氳繛鍒嗗彿涓鍧楃疆鎹€偮犅犅?br />聽聽聽
7.闈濩++鍐呭緩鍨嬪埆A鍜孊錛屽湪鍝嚑縐嶆儏鍐典笅B鑳介殣寮忚漿鍖栦負A錛?br />
鏄懼紡杞崲鍜岄殣寮忚漿鎹㈢殑鍖哄埆錛?br />static_cast鐢ㄤ簬灝嗘淳鐢熺被鎸囬拡杞崲鎴愬熀綾繪寚閽堛傚彂鐢熶簬緙栬瘧鏃跺埢銆?
dynamic_cast鐢ㄤ簬灝嗗熀綾繪寚閽堣漿鎹㈡垚媧劇敓綾繪寚閽堛傚彂鐢熶簬榪愯鏃跺埢銆?
static_cast榪樺彲鐢ㄤ簬錛?
- 杞崲涓嶅悓鍐呭緩鏁版嵁綾誨瀷錛坈har->int錛宖lot->double絳夛級
- 杞崲鏁存暟綾誨瀷鍒癳num
- 杞崲絀烘寚閽堜負浠諱綍鍏跺畠綾誨瀷鐨勭┖鎸囬拡
reinterpret_cast鍙敤浜庯細
- 杞崲浠諱綍鐩稿叧鎴栦笉鐩稿叧鐨勬寚閽?
- 杞崲鎸囬拡涓烘暣鏁扮被鍨?錛堝弽榪囨潵涔熻鍚楋紵錛?
- 杞崲絀烘寚閽堜負浠諱綍鍏跺畠綾誨瀷鐨勭┖鎸囬拡
8.C++涓殑絀虹被錛岄粯璁や駭鍑哄摢浜涚被鐨勬垚鍛樺嚱鏁幫紵
絳旀錛?/font>
class Empty
{
聽 public:
聽 Empty(); // 緙虹渷鏋勯犲嚱鏁?
聽 Empty( const Empty& ); // 鎷瘋礉鏋勯犲嚱鏁?
聽 ~Empty(); // 鏋愭瀯鍑芥暟
聽 Empty& operator=( const Empty& ); // 璧嬪艱繍綆楃
聽 Empty* operator&(); // 鍙栧潃榪愮畻絎?
聽 const Empty* operator&() const; // 鍙栧潃榪愮畻絎?const
};
10.鍐欎竴涓嚱鏁幫紝瀹屾垚鍐呭瓨涔嬮棿鐨勬嫹璐?br />
5. 鐢ㄥ彉閲廰緇欏嚭涓嬮潰鐨勫畾涔?
a) 涓涓暣鍨嬫暟錛圓n integer錛?
b) 涓涓寚鍚戞暣鍨嬫暟鐨勬寚閽堬紙A pointer to an integer錛?
c) 涓涓寚鍚戞寚閽堢殑鐨勬寚閽堬紝瀹冩寚鍚戠殑鎸囬拡鏄寚鍚戜竴涓暣鍨嬫暟錛圓 pointer to a pointer to an integer錛?
d) 涓涓湁10涓暣鍨嬫暟鐨勬暟緇勶紙An array of 10 integers錛?
e) 涓涓湁10涓寚閽堢殑鏁扮粍錛岃鎸囬拡鏄寚鍚戜竴涓暣鍨嬫暟鐨勶紙An array of 10 pointers to integers錛?
f) 涓涓寚鍚戞湁10涓暣鍨嬫暟鏁扮粍鐨勬寚閽堬紙A pointer to an array of 10 integers錛?
g) 涓涓寚鍚戝嚱鏁扮殑鎸囬拡錛岃鍑芥暟鏈変竴涓暣鍨嬪弬鏁板茍榪斿洖涓涓暣鍨嬫暟錛圓 pointer to a function that takes an integer as an argument and returns an integer錛?
h) 涓涓湁10涓寚閽堢殑鏁扮粍錛岃鎸囬拡鎸囧悜涓涓嚱鏁幫紝璇ュ嚱鏁版湁涓涓暣鍨嬪弬鏁板茍榪斿洖涓涓暣鍨嬫暟錛?An array of ten pointers to functions that take an integer argument and return an integer 錛?br />
絳旀鏄細
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer