怎么用const c++中const是怎么使用的?

Java\u7684const\u600e\u4e48\u7528

const\u662fconstant\u7684\u7f29\u5199\uff0c\u201c\u6052\u5b9a\u4e0d\u53d8\u201d\u7684\u610f\u601d\u3002\u88abconst\u4fee\u9970\u7684\u4e1c\u897f\u90fd\u53d7\u5230\u5f3a\u5236\u4fdd\u62a4\uff0c\u53ef\u4ee5\u9884\u9632\u610f\u5916\u7684\u53d8\u52a8\uff0c\u80fd\u63d0\u9ad8\u7a0b\u5e8f\u7684\u5065\u58ee\u6027\u548c\u9ad8\u6548\u6027\u3002

1 \u7528const\u4fee\u9970\u51fd\u6570\u7684\u53c2\u6570
\u5982\u679c\u53c2\u6570\u4f5c\u8f93\u51fa\u7528\uff0c\u4e0d\u8bba\u5b83\u662f\u4ec0\u4e48\u6570\u636e\u7c7b\u578b\uff0c\u4e5f\u4e0d\u8bba\u5b83\u91c7\u7528\u201c\u6307\u9488\u4f20\u9012\u201d\u8fd8\u662f\u201c\u5f15\u7528\u4f20\u9012\u201d\uff0c\u90fd\u4e0d\u80fd\u52a0const\u4fee\u9970\uff0c\u5426\u5219\u8be5\u53c2\u6570\u5c06\u5931\u53bb\u8f93\u51fa\u529f\u80fd\u3002
const\u53ea\u80fd\u4fee\u9970\u8f93\u5165\u53c2\u6570\uff1a
u \u5982\u679c\u8f93\u5165\u53c2\u6570\u91c7\u7528\u201c\u6307\u9488\u4f20\u9012\u201d\uff0c\u90a3\u4e48\u52a0const\u4fee\u9970\u53ef\u4ee5\u9632\u6b62\u610f\u5916\u5730\u6539\u52a8\u8be5\u6307\u9488\uff0c\u8d77\u5230\u4fdd\u62a4\u4f5c\u7528\u3002
\u4f8b\u5982StringCopy\u51fd\u6570\uff1a
void StringCopy(char *strDestination, const char *strSource);
\u5176\u4e2dstrSource\u662f\u8f93\u5165\u53c2\u6570\uff0cstrDestination\u662f\u8f93\u51fa\u53c2\u6570\u3002\u7ed9strSource\u52a0\u4e0aconst\u4fee\u9970\u540e\uff0c\u5982\u679c\u51fd\u6570\u4f53\u5185\u7684\u8bed\u53e5\u8bd5\u56fe\u6539\u52a8strSource\u7684\u5185\u5bb9\uff0c\u7f16\u8bd1\u5668\u5c06\u6307\u51fa\u9519\u8bef\u3002

u \u5982\u679c\u8f93\u5165\u53c2\u6570\u91c7\u7528\u201c\u503c\u4f20\u9012\u201d\uff0c\u7531\u4e8e\u51fd\u6570\u5c06\u81ea\u52a8\u4ea7\u751f\u4e34\u65f6\u53d8\u91cf\u7528\u4e8e\u590d\u5236\u8be5\u53c2\u6570\uff0c\u8be5\u8f93\u5165\u53c2\u6570\u672c\u6765\u5c31\u65e0\u9700\u4fdd\u62a4\uff0c\u6240\u4ee5\u4e0d\u8981\u52a0const\u4fee\u9970\u3002
\u4f8b\u5982\u4e0d\u8981\u5c06\u51fd\u6570void Func1(int x)\u5199\u6210void Func1(const int x)\u3002\u540c\u7406\u4e0d\u8981\u5c06\u51fd\u6570void Func2(A a) \u5199\u6210void Func2(const A a)\u3002\u5176\u4e2dA\u4e3a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\u3002

u \u5bf9\u4e8e\u975e\u5185\u90e8\u6570\u636e\u7c7b\u578b\u7684\u53c2\u6570\u800c\u8a00\uff0c\u8c61void Func(A a) \u8fd9\u6837\u58f0\u660e\u7684\u51fd\u6570\u6ce8\u5b9a\u6548\u7387\u6bd4\u8f83\u5e95\u3002\u56e0\u4e3a\u51fd\u6570\u4f53\u5185\u5c06\u4ea7\u751fA\u7c7b\u578b\u7684\u4e34\u65f6\u5bf9\u8c61\u7528\u4e8e\u590d\u5236\u53c2\u6570a\uff0c\u800c\u4e34\u65f6\u5bf9\u8c61\u7684\u6784\u9020\u3001\u590d\u5236\u3001\u6790\u6784\u8fc7\u7a0b\u90fd\u5c06\u6d88\u8017\u65f6\u95f4\u3002
\u4e3a\u4e86\u63d0\u9ad8\u6548\u7387\uff0c\u53ef\u4ee5\u5c06\u51fd\u6570\u58f0\u660e\u6539\u4e3avoid Func(A& a)\uff0c\u56e0\u4e3a\u201c\u5f15\u7528\u4f20\u9012\u201d\u4ec5\u501f\u7528\u4e00\u4e0b\u53c2\u6570\u7684\u522b\u540d\u800c\u5df2\uff0c\u4e0d\u9700\u8981\u4ea7\u751f\u4e34\u65f6\u5bf9\u8c61\u3002\u4f46\u662f\u51fd\u6570void Func(A& a) \u5b58\u5728\u4e00\u4e2a\u7f3a\u70b9\uff1a\u201c\u5f15\u7528\u4f20\u9012\u201d\u6709\u53ef\u80fd\u6539\u53d8\u53c2\u6570a\uff0c\u8fd9\u662f\u6211\u4eec\u4e0d\u671f\u671b\u7684\u3002\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u5f88\u5bb9\u6613\uff0c\u52a0const\u4fee\u9970\u5373\u53ef\uff0c\u56e0\u6b64\u51fd\u6570\u6700\u7ec8\u6210\u4e3avoid Func(const A& a)\u3002
\u4ee5\u6b64\u7c7b\u63a8\uff0c\u662f\u5426\u5e94\u5c06void Func(int x) \u6539\u5199\u4e3avoid Func(const int& x)\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u6548\u7387\uff1f\u5b8c\u5168\u6ca1\u6709\u5fc5\u8981\uff0c\u56e0\u4e3a\u5185\u90e8\u6570\u636e\u7c7b\u578b\u7684\u53c2\u6570\u4e0d\u5b58\u5728\u6784\u9020\u3001\u6790\u6784\u7684\u8fc7\u7a0b\uff0c\u800c\u590d\u5236\u4e5f\u975e\u5e38\u5feb\uff0c\u201c\u503c\u4f20\u9012\u201d\u548c\u201c\u5f15\u7528\u4f20\u9012\u201d\u7684\u6548\u7387\u51e0\u4e4e\u76f8\u5f53\u3002
\u5bf9\u4e8e\u975e\u5185\u90e8\u6570\u636e\u7c7b\u578b\u7684\u8f93\u5165\u53c2\u6570\uff0c\u5e94\u8be5\u5c06\u201c\u503c\u4f20\u9012\u201d\u7684\u65b9\u5f0f\u6539\u4e3a\u201cconst\u5f15\u7528\u4f20\u9012\u201d\uff0c\u76ee\u7684\u662f\u63d0\u9ad8\u6548\u7387\u3002\u4f8b\u5982\u5c06void Func(A a) \u6539\u4e3avoid Func(const A& a)\u3002
\u5bf9\u4e8e\u5185\u90e8\u6570\u636e\u7c7b\u578b\u7684\u8f93\u5165\u53c2\u6570\uff0c\u4e0d\u8981\u5c06\u201c\u503c\u4f20\u9012\u201d\u7684\u65b9\u5f0f\u6539\u4e3a\u201cconst\u5f15\u7528\u4f20\u9012\u201d\u3002\u5426\u5219\u65e2\u8fbe\u4e0d\u5230\u63d0\u9ad8\u6548\u7387\u7684\u76ee\u7684\uff0c\u53c8\u964d\u4f4e\u4e86\u51fd\u6570\u7684\u53ef\u7406\u89e3\u6027\u3002\u4f8b\u5982void Func(int x) \u4e0d\u5e94\u8be5\u6539\u4e3avoid Func(const int& x)\u3002

2 \u7528const\u4fee\u9970\u51fd\u6570\u7684\u8fd4\u56de\u503c
u \u5982\u679c\u7ed9\u4ee5\u201c\u6307\u9488\u4f20\u9012\u201d\u65b9\u5f0f\u7684\u51fd\u6570\u8fd4\u56de\u503c\u52a0const\u4fee\u9970\uff0c\u90a3\u4e48\u51fd\u6570\u8fd4\u56de\u503c\uff08\u5373\u6307\u9488\uff09\u7684\u5185\u5bb9\u4e0d\u80fd\u88ab\u4fee\u6539\uff0c\u8be5\u8fd4\u56de\u503c\u53ea\u80fd\u88ab\u8d4b\u7ed9\u52a0const\u4fee\u9970\u7684\u540c\u7c7b\u578b\u6307\u9488\u3002
\u4f8b\u5982\u51fd\u6570
const char* GetString(void);
\u5982\u4e0b\u8bed\u53e5\u5c06\u51fa\u73b0\u7f16\u8bd1\u9519\u8bef\uff1a
char *str = GetString();
\u6b63\u786e\u7684\u7528\u6cd5\u662f
const char *str = GetString();
u \u5982\u679c\u51fd\u6570\u8fd4\u56de\u503c\u91c7\u7528\u201c\u503c\u4f20\u9012\u65b9\u5f0f\u201d\uff0c\u7531\u4e8e\u51fd\u6570\u4f1a\u628a\u8fd4\u56de\u503c\u590d\u5236\u5230\u5916\u90e8\u4e34\u65f6\u7684\u5b58\u50a8\u5355\u5143\u4e2d\uff0c\u52a0const\u4fee\u9970\u6ca1\u6709\u4efb\u4f55\u4ef7\u503c\u3002
\u4f8b\u5982\u4e0d\u8981\u628a\u51fd\u6570int GetInt(void) \u5199\u6210const int GetInt(void)\u3002
\u540c\u7406\u4e0d\u8981\u628a\u51fd\u6570A GetA(void) \u5199\u6210const A GetA(void)\uff0c\u5176\u4e2dA\u4e3a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\u3002
\u5982\u679c\u8fd4\u56de\u503c\u4e0d\u662f\u5185\u90e8\u6570\u636e\u7c7b\u578b\uff0c\u5c06\u51fd\u6570A GetA(void) \u6539\u5199\u4e3aconst A& GetA(void)\u7684\u786e\u80fd\u63d0\u9ad8\u6548\u7387\u3002\u4f46\u6b64\u65f6\u5343\u4e07\u5343\u4e07\u8981\u5c0f\u5fc3\uff0c\u4e00\u5b9a\u8981\u641e\u6e05\u695a\u51fd\u6570\u7a76\u7adf\u662f\u60f3\u8fd4\u56de\u4e00\u4e2a\u5bf9\u8c61\u7684\u201c\u62f7\u8d1d\u201d\u8fd8\u662f\u4ec5\u8fd4\u56de\u201c\u522b\u540d\u201d\u5c31\u53ef\u4ee5\u4e86\uff0c\u5426\u5219\u7a0b\u5e8f\u4f1a\u51fa\u9519\u3002\u4f8b\u5982\uff1a

[cpp] view plaincopyprint?
class String
{
//\u2026
// \u8d4b\u503c\u51fd\u6570
String & operate=(const String &other);
// \u76f8\u52a0\u51fd\u6570\uff0c\u5982\u679c\u6ca1\u6709friend\u4fee\u9970\u5219\u53ea\u8bb8\u6709\u4e00\u4e2a\u53f3\u4fa7\u53c2\u6570
friend String operate+(const String &s1, const String &s2);
private:
char *m_data;
}
class String
{
//\u2026
// \u8d4b\u503c\u51fd\u6570
String & operate=(const String &other);
// \u76f8\u52a0\u51fd\u6570\uff0c\u5982\u679c\u6ca1\u6709friend\u4fee\u9970\u5219\u53ea\u8bb8\u6709\u4e00\u4e2a\u53f3\u4fa7\u53c2\u6570
friendString operate+(const String &s1, const String &s2);
private:
char *m_data;
}

String\u7684\u8d4b\u503c\u51fd\u6570operate = \u7684\u5b9e\u73b0\u5982\u4e0b\uff1a

[cpp] view plaincopyprint?
String& String::operate=(const String &other)
{
if (this == &other)
return *this;
delete m_data;
m_data = new char[strlen(other.data)+1];
strcpy(m_data, other.data);
return *this; // \u8fd4\u56de\u7684\u662f*this\u7684\u5f15\u7528\uff0c\u65e0\u9700\u62f7\u8d1d\u8fc7\u7a0b
}
String& String::operate=(const String &other)
{
if (this == &other)
return *this;
delete m_data;
m_data = new char[strlen(other.data)+1];
strcpy(m_data, other.data);
return *this;// \u8fd4\u56de\u7684\u662f*this\u7684\u5f15\u7528\uff0c\u65e0\u9700\u62f7\u8d1d\u8fc7\u7a0b
}

\u5bf9\u4e8e\u8d4b\u503c\u51fd\u6570\uff0c\u5e94\u5f53\u7528\u201c\u5f15\u7528\u4f20\u9012\u201d\u7684\u65b9\u5f0f\u8fd4\u56deString\u5bf9\u8c61\u3002\u5982\u679c\u7528\u201c\u503c\u4f20\u9012\u201d\u7684\u65b9\u5f0f\uff0c\u867d\u7136\u529f\u80fd\u4ecd\u7136\u6b63\u786e\uff0c\u4f46\u7531\u4e8ereturn\u8bed\u53e5\u8981\u628a *this\u62f7\u8d1d\u5230\u4fdd\u5b58\u8fd4\u56de\u503c\u7684\u5916\u90e8\u5b58\u50a8\u5355\u5143\u4e4b\u4e2d\uff0c\u589e\u52a0\u4e86\u4e0d\u5fc5\u8981\u7684\u5f00\u9500\uff0c\u964d\u4f4e\u4e86\u8d4b\u503c\u51fd\u6570\u7684\u6548\u7387\u3002\u4f8b\u5982\uff1a
String a,b,c;
\u2026
a = b; // \u5982\u679c\u7528\u201c\u503c\u4f20\u9012\u201d\uff0c\u5c06\u4ea7\u751f\u4e00\u6b21 *this \u62f7\u8d1d
a = b = c; // \u5982\u679c\u7528\u201c\u503c\u4f20\u9012\u201d\uff0c\u5c06\u4ea7\u751f\u4e24\u6b21 *this \u62f7\u8d1d

String\u7684\u76f8\u52a0\u51fd\u6570operate + \u7684\u5b9e\u73b0\u5982\u4e0b\uff1a

[cpp] view plaincopyprint?
String String::operate+(const String &s1, const String &s2)
{
String temp;
delete temp.data; // temp.data\u662f\u4ec5\u542b\u2018\0\u2019\u7684\u5b57\u7b26\u4e32
temp.data = new char[strlen(s1.data) + strlen(s2.data) + 1];
strcpy(temp.data, s1.data);
strcat(temp.data, s2.data);
return temp;
}
String String::operate+(const String &s1, const String &s2)
{
String temp;
delete temp.data;// temp.data\u662f\u4ec5\u542b\u2018\0\u2019\u7684\u5b57\u7b26\u4e32
temp.data = new char[strlen(s1.data) + strlen(s2.data) + 1];
strcpy(temp.data, s1.data);
strcat(temp.data, s2.data);
return temp;
}

\u5bf9\u4e8e\u76f8\u52a0\u51fd\u6570\uff0c\u5e94\u5f53\u7528\u201c\u503c\u4f20\u9012\u201d\u7684\u65b9\u5f0f\u8fd4\u56deString\u5bf9\u8c61\u3002\u5982\u679c\u6539\u7528\u201c\u5f15\u7528\u4f20\u9012\u201d\uff0c\u90a3\u4e48\u51fd\u6570\u8fd4\u56de\u503c\u662f\u4e00\u4e2a\u6307\u5411\u5c40\u90e8\u5bf9\u8c61temp\u7684\u201c\u5f15\u7528\u201d\u3002\u7531\u4e8etemp\u5728\u51fd\u6570\u7ed3\u675f\u65f6\u88ab\u81ea\u52a8\u9500\u6bc1\uff0c\u5c06\u5bfc\u81f4\u8fd4\u56de\u7684\u201c\u5f15\u7528\u201d\u65e0\u6548\u3002\u4f8b\u5982\uff1a
c = a + b;
\u6b64\u65f6 a + b \u5e76\u4e0d\u8fd4\u56de\u671f\u671b\u503c\uff0cc\u4ec0\u4e48\u4e5f\u5f97\u4e0d\u5230\uff0c\u7559\u4e0b\u4e86\u9690\u60a3\u3002

u \u51fd\u6570\u8fd4\u56de\u503c\u91c7\u7528\u201c\u5f15\u7528\u4f20\u9012\u201d\u7684\u573a\u5408\u5e76\u4e0d\u591a\uff0c\u8fd9\u79cd\u65b9\u5f0f\u4e00\u822c\u53ea\u51fa\u73b0\u5728\u7c7b\u7684\u8d4b\u503c\u51fd\u6570\u4e2d\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u5b9e\u73b0\u94fe\u5f0f\u8868\u8fbe\u3002
\u4f8b\u5982

[cpp] view plaincopyprint?
class A
{//\u2026
A& operate = (const A &other); // \u8d4b\u503c\u51fd\u6570
};
class A
{//\u2026
A& operate = (const A &other);// \u8d4b\u503c\u51fd\u6570
};

A a, b, c; // a, b, c \u4e3aA\u7684\u5bf9\u8c61
\u2026
a = b = c;// \u6b63\u5e38\u7684\u94fe\u5f0f\u8d4b\u503c
(a = b) = c;// \u4e0d\u6b63\u5e38\u7684\u94fe\u5f0f\u8d4b\u503c\uff0c\u4f46\u5408\u6cd5
\u5982\u679c\u5c06\u8d4b\u503c\u51fd\u6570\u7684\u8fd4\u56de\u503c\u52a0const\u4fee\u9970\uff0c\u90a3\u4e48\u8be5\u8fd4\u56de\u503c\u7684\u5185\u5bb9\u4e0d\u5141\u8bb8\u88ab\u6539\u52a8\u3002\u4e0a\u4f8b\u4e2d\uff0c\u8bed\u53e5 a = b = c\u4ecd\u7136\u6b63\u786e\uff0c\u4f46\u662f\u8bed\u53e5 (a = b) = c \u5219\u662f\u975e\u6cd5\u7684\u3002

3 \u7528const\u4fee\u9970\u6210\u5458\u51fd\u6570
const\u6210\u5458\u51fd\u6570\u662f\u6307\u5728\u7c7b\u7684\u6210\u5458\u51fd\u6570\u540e\u9762\u52a0 const\u7684\u51fd\u6570\uff0c\u5982int GetNum() const; const\u4fee\u9970\u6210\u5458\u51fd\u6570\u7684\u4f5c\u7528\u662f\uff1a\u53ea\u80fd\u8bfb\u53d6\u6570\u636e\u6210\u5458\uff0c\u4e0d\u80fd\u6539\u53d8\u6570\u636e\u6210\u5458\u3002const\u6210\u5458\u51fd\u6570\u53ea\u80fd\u8c03\u7528const\u51fd\u6570\uff0c\u4e0d\u80fd\u8c03\u7528\u5176\u5b83\u975econst\u6210\u5458\u51fd\u6570\uff1bconst\u5bf9\u8c61\u53ea\u80fd\u8c03\u7528const\u6210\u5458\u51fd\u6570\uff0c\u4e0d\u80fd\u8c03\u7528\u975econst\u6210\u5458\u51fd\u6570\u3002
\u4efb\u4f55\u4e0d\u4f1a\u4fee\u6539\u6570\u636e\u6210\u5458\u7684\u51fd\u6570\u90fd\u5e94\u8be5\u58f0\u660e\u4e3aconst\u7c7b\u578b\u3002\u5982\u679c\u5728\u7f16\u5199const\u6210\u5458\u51fd\u6570\u65f6\uff0c\u4e0d\u614e\u4fee\u6539\u4e86\u6570\u636e\u6210\u5458\uff0c\u6216\u8005\u8c03\u7528\u4e86\u5176\u5b83\u975econst\u6210\u5458\u51fd\u6570\uff0c\u7f16\u8bd1\u5668\u5c06\u6307\u51fa\u9519\u8bef\uff0c\u8fd9\u65e0\u7591\u4f1a\u63d0\u9ad8\u7a0b\u5e8f\u7684\u5065\u58ee\u6027\u3002

\u7528\u6765\u4fee\u9970\u53d8\u91cf\u6216\u51fd\u6570\uff08\u5305\u62ec\u6210\u5458\u51fd\u6570\uff09\u53ca\u5176\u53c2\u6570\uff1a
(1)const\u4fee\u9970\u57fa\u672c\u6570\u636e\u7c7b\u578b
(2)const\u5e94\u7528\u5230\u51fd\u6570\u4e2d
(3)const\u5728\u7c7b\u4e2d\u7684\u7528\u6cd5
(4)const\u4fee\u9970\u7c7b\u5bf9\u8c61\uff0c\u5b9a\u4e49\u5e38\u91cf\u5bf9\u8c61
\u4e00\u3001const\u4fee\u9970\u57fa\u672c\u6570\u636e\u7c7b\u578b
1.const\u4fee\u9970\u4e00\u822c\u5e38\u91cf\u53ca\u6570\u7ec4
const int a=10; \u7b49\u4ef7\u7684\u4e66\u5199\u65b9\u5f0f\uff1a int const a=10;
const int arr[3]={1,2,3}; int const arr[3]={1,2,3};

\u5bf9\u4e8e\u7c7b\u4f3c\u8fd9\u4e9b\u57fa\u672c\u6570\u636e\u7c7b\u578b\uff0c\u4fee\u9970\u7b26const\u53ef\u4ee5\u7528\u5728\u7c7b\u578b\u8bf4\u660e\u7b26\u524d\uff0c\u4e5f\u53ef\u4ee5\u7528\u5728\u7c7b\u578b\u8bf4\u660e\u7b26\u540e\uff0c\u5176\u7ed3\u679c\u662f\u4e00\u6837\u7684\u3002\u5728\u4f7f\u7528\u8fd9\u4e9b\u5e38\u91cf\u7684\u65f6\u5019\uff0c\u53ea\u8981\u4e0d\u6539\u53d8\u8fd9\u4e9b\u5e38\u91cf\u7684\u503c\u4fbf\u597d\u3002
2.const\u4fee\u9970\u6307\u9488\u53d8\u91cf*\u53ca\u5f15\u7528\u53d8\u91cf&
\u4ecb\u7ecd\u672c\u90e8\u5206\u5185\u5bb9\u4e4b\u524d\uff0c\u5148\u8bf4\u8bf4\u6307\u9488\u548c\u5f15\u7528\u7684\u4e00\u4e9b\u57fa\u672c\u77e5\u8bc6\u3002
\u6307\u9488(pointer)\u662f\u7528\u6765\u6307\u5411\u5b9e\u9645\u5185\u5b58\u5730\u5740\u7684\u53d8\u91cf\uff0c\u4e00\u822c\u6765\u8bf4\uff0c\u6307\u9488\u662f\u6574\u578b\uff0c\u800c\u4e14\u4e00\u822c\u7684\u5927\u5bb6\u4f1a\u63a5\u53d7\u5341\u516d\u8fdb\u5236\u7684\u8f93\u51fa\u683c\u5f0f\u3002
\u5f15\u7528(reference)\u662f\u5176\u76f8\u5e94\u53d8\u91cf\u7684\u522b\u540d\uff0c\u7528\u4e8e\u5411\u51fd\u6570\u63d0\u4f9b\u76f4\u63a5\u8bbf\u95ee\u53c2\u6570\uff08\u800c\u4e0d\u662f\u53c2\u6570\u7684\u526f\u672c\uff09\u7684\u9014\u5f84\uff0c\u4e0e\u6307\u9488\u76f8\u6bd4\uff0c\u5f15\u7528\u662f\u4e00\u79cd\u53d7\u9650\u5236\u7684\u6307\u9488\u7c7b\u578b\uff0c\u6216\u8005\u8bf4\u662f\u6307\u9488\u7684\u4e00\u4e2a\u5b50\u96c6\uff0c\u800c\u4ece\u5176\u529f\u80fd\u4e0a\u6765\u770b\uff0c\u4f3c\u4e4e\u53ef\u4ee5\u8bf4\u5f15\u7528\u662f\u6307\u9488\u529f\u80fd\u7684\u4e00\u79cd\u9ad8\u5c42\u5b9e\u73b0\u3002
\u5173\u4e8e\u8fd0\u7b97\u7b26&\u548c*\uff1a
\u5728C++\u91cc\uff0c\u6cbf\u88adC\u4e2d\u7684\u8bed\u6cd5\uff0c\u6709\u4e24\u4e2a\u4e00\u5143\u8fd0\u7b97\u7b26\u7528\u4e8e\u6307\u9488\u64cd\u4f5c\uff1a&\u548c*\u3002\u6309\u7167\u672c\u6765\u7684\u5b9a\u4e49\uff0c&\u5e94\u5f53\u662f\u53d6\u5740\u7b26\uff0c*\u662f\u6307\u9488\u7b26\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c &\u7528\u4e8e\u8fd4\u56de\u53d8\u91cf\u7684\u5b9e\u9645\u5730\u5740\uff0c*\u7528\u4e8e\u8fd4\u56de\u5730\u5740\u6240\u6307\u5411\u7684\u53d8\u91cf\uff0c\u4ed6\u4eec\u5e94\u5f53\u4e92\u4e3a\u9006\u8fd0\u7b97\u3002\u5b9e\u9645\u7684\u60c5\u51b5\u4e5f\u662f\u5982\u6b64\u3002
\u5728\u5b9a\u4e49\u53d8\u91cf\u7684\u5f15\u7528\u7684\u65f6\u5019\uff0c&\u53ea\u662f\u4e2a\u5b9a\u4e49\u5f15\u7528\u7684\u6807\u5fd7\uff0c\u4e0d\u4ee3\u8868\u53d6\u5730\u5740\u3002
***************************const\u4fee\u9970\u6307\u9488\uff08*\uff09\uff1a*********************
const int* a = & [1] //\u975e\u5e38\u91cf\u6570\u636e\u7684\u5e38\u91cf\u6307\u9488 \u6307\u9488\u5e38\u91cf
int const *a = & [2] //\u975e\u5e38\u91cf\u6570\u636e\u7684\u5e38\u91cf\u6307\u9488 a is a pointer to the constant char variable

int* const a = & [3] //\u5e38\u91cf\u6570\u636e\u7684\u975e\u5e38\u91cf\u6307\u9488\u6307\u9488\u5e38\u91cf \u5e38\u91cf\u6307\u9488 a is a constant pointer to the (non-constant) char variable

const int* const a = & [4] //\u5e38\u91cf\u6570\u636e\u7684\u5e38\u91cf\u6307\u9488
\u53ef\u4ee5\u53c2\u8003\u300aEffective c++\u300bItem21\u4e0a\u7684\u505a\u6cd5\uff0c
\u5982\u679cconst\u4f4d\u4e8e\u661f\u53f7*\u7684\u5de6\u4fa7\uff0c\u5219const\u5c31\u662f\u7528\u6765\u4fee\u9970\u6307\u9488\u6240\u6307\u5411\u7684\u53d8\u91cf\uff0c\u5373\u6307\u9488\u6307\u5411\u4e3a\u5e38\u91cf\uff1b
\u5982\u679cconst\u4f4d\u4e8e\u661f\u53f7\u7684\u53f3\u4fa7\uff0cconst\u5c31\u662f\u4fee\u9970\u6307\u9488\u672c\u8eab\uff0c\u5373\u6307\u9488\u672c\u8eab\u662f\u5e38\u91cf\u3002
\u56e0\u6b64\uff0c[1]\u548c[2]\u7684\u60c5\u51b5\u76f8\u540c\uff0c\u90fd\u662f\u6307\u9488\u6240\u6307\u5411\u7684\u5185\u5bb9\u4e3a\u5e38\u91cf\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\u4e0d\u5141\u8bb8\u5bf9\u5185\u5bb9\u8fdb\u884c\u66f4\u6539\u64cd\u4f5c\uff0c\u5982\u4e0d\u80fd*a = 3 \uff1b
[3]\u4e3a\u6307\u9488\u672c\u8eab\u662f\u5e38\u91cf\uff0c\u800c\u6307\u9488\u6240\u6307\u5411\u7684\u5185\u5bb9\u4e0d\u662f\u5e38\u91cf\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\u4e0d\u80fd\u5bf9\u6307\u9488\u672c\u8eab\u8fdb\u884c\u66f4\u6539\u64cd\u4f5c\uff0c\u5982a++\u662f\u9519\u8bef\u7684\uff1b
[4]\u4e3a\u6307\u9488\u672c\u8eab\u548c\u6307\u5411\u7684\u5185\u5bb9\u5747\u4e3a\u5e38\u91cf\u3002
****************const\u4fee\u9970\u5f15\u7528\uff08&\uff09\uff1a***************************
int const &a=x;
const int &a=x;
int &const a=x;//\u8fd9\u79cd\u65b9\u5f0f\u5b9a\u4e49\u662fC\u3001C++\u7f16\u8bd1\u5668\u672a\u5b9a\u4e49\uff0c\u867d\u7136\u4e0d\u4f1a\u62a5\u9519\uff0c\u4f46\u662f\u8be5\u53e5\u6548\u679c\u548cint &a\u4e00\u6837\u3002
\u8fd9\u4e24\u79cd\u5b9a\u4e49\u65b9\u5f0f\u662f\u7b49\u4ef7\u7684\uff0c\u6b64\u65f6\u7684\u5f15\u7528a\u4e0d\u80fd\u88ab\u66f4\u65b0\u3002\u5982\uff1aa++ \u8fd9\u662f\u9519\u8bef\u7684\u3002
\u4e8c\u3001const\u5e94\u7528\u5230\u51fd\u6570\u4e2d
1.\u4f5c\u4e3a\u53c2\u6570\u7684const\u4fee\u9970\u7b26
2.\u4f5c\u4e3a\u51fd\u6570\u8fd4\u56de\u503c\u7684const\u4fee\u9970\u7b26
\u5176\u5b9e\uff0c\u4e0d\u8bba\u662f\u53c2\u6570\u8fd8\u662f\u8fd4\u56de\u503c\uff0c\u9053\u7406\u90fd\u662f\u4e00\u6837\u7684\uff0c\u53c2\u6570\u4f20\u5165\u65f6\u5019\u548c\u51fd\u6570\u8fd4\u56de\u7684\u65f6\u5019\uff0c\u521d\u59cb\u5316const\u53d8\u91cf
1 \u4fee\u9970\u53c2\u6570\u7684const\uff0c\u5982 void fun0(const A* a ); void fun1(const A& a);
\u8c03\u7528\u51fd\u6570\u7684\u65f6\u5019\uff0c\u7528\u76f8\u5e94\u7684\u53d8\u91cf\u521d\u59cb\u5316const\u5e38\u91cf\uff0c\u5219\u5728\u51fd\u6570\u4f53\u4e2d\uff0c\u6309\u7167const\u6240\u4fee\u9970\u7684\u90e8\u5206\u8fdb\u884c\u5e38\u91cf\u5316\uff0c\u5982\u5f62\u53c2\u4e3aconst A* a\uff0c
\u5219\u4e0d\u80fd\u5bf9\u4f20\u9012\u8fdb\u6765\u7684\u6307\u9488\u7684\u5185\u5bb9 \u8fdb\u884c\u6539\u53d8\uff0c\u4fdd\u62a4\u4e86\u539f\u6307\u9488\u6240\u6307\u5411\u7684\u5185\u5bb9\uff1b\u5982\u5f62\u53c2\u4e3aconst A& a\uff0c\u5219\u4e0d\u80fd\u5bf9\u4f20\u9012\u8fdb\u6765\u7684\u5f15\u7528\u5bf9\u8c61\u8fdb\u884c\u6539\u53d8\uff0c
\u4fdd\u62a4\u4e86\u539f\u5bf9\u8c61\u7684\u5c5e\u6027\u3002
[\u6ce8\u610f]\uff1a\u53c2\u6570const\u901a\u5e38\u7528\u4e8e\u53c2\u6570\u4e3a\u6307\u9488\u6216\u5f15\u7528\u7684\u60c5\u51b5;
2 \u4fee\u9970\u8fd4\u56de\u503c\u7684const\uff0c\u5982const A fun2( ); const A* fun3( );
\u8fd9\u6837\u58f0\u660e\u4e86\u8fd4\u56de\u503c\u540e\uff0cconst\u6309\u7167"\u4fee\u9970\u539f\u5219"\u8fdb\u884c\u4fee\u9970\uff0c\u8d77\u5230\u76f8\u5e94\u7684\u4fdd\u62a4\u4f5c\u7528\u3002
const Rational operator*(const Rational& lhs, const Rational& rhs)
{
return Rational(lhs.numerator() * rhs.numerator(),
lhs.denominator() * rhs.denominator());
}
\u8fd4\u56de\u503c\u7528const\u4fee\u9970\u53ef\u4ee5\u9632\u6b62\u5141\u8bb8\u8fd9\u6837\u7684\u64cd\u4f5c\u53d1\u751f:
Rational a,b;
Radional c;
(a*b) = c;
\u4e00\u822c\u7528const\u4fee\u9970\u8fd4\u56de\u503c\u4e3a\u5bf9\u8c61\u672c\u8eab\uff08\u975e\u5f15\u7528\u548c\u6307\u9488\uff09\u7684\u60c5\u51b5\u591a\u7528\u4e8e\u4e8c\u76ee\u64cd\u4f5c\u7b26\u91cd\u8f7d\u51fd\u6570\u5e76\u4ea7\u751f\u65b0\u5bf9\u8c61\u7684\u65f6\u5019\u3002
\u7c7b\u4e2d\u7684\u6210\u5458\u51fd\u6570\uff1aA fun4()const; \u5176\u610f\u4e49\u4e0a\u662f\u4e0d\u80fd\u4fee\u6539\u6240\u5728\u7c7b\u7684\u7684\u4efb\u4f55\u53d8\u91cf\u3002
\u4e09\u3001\u7c7b\u4e2d\u5b9a\u4e49\u5e38\u91cf\uff08const\u7684\u7279\u6b8a\u7528\u6cd5\uff09

\u5728\u7c7b\u4e2d\u5b9e\u73b0\u5e38\u91cf\u7684\u5b9a\u4e49\u5927\u81f4\u6709\u8fd9\u4e48\u51e0\u79cd\u65b9\u5f0f\u5b9e\u73b0\uff1a
1.\u4f7f\u7528\u679a\u4e3e\u7c7b\u578b
class test
{
enum { SIZE1 = 10, SIZE2 = 20}; // \u679a\u4e3e\u5e38\u91cf
int array1[SIZE1];
int array2[SIZE2];
};
2.\u4f7f\u7528const
\u4e0d\u80fd\u5728\u7c7b\u58f0\u660e\u4e2d\u521d\u59cb\u5316const\u6570\u636e\u6210\u5458\u3002\u4ee5\u4e0b\u7528\u6cd5\u662f\u9519\u8bef\u7684\uff0c\u56e0\u4e3a\u7c7b\u7684\u5bf9\u8c61\u672a\u88ab\u521b\u5efa\u65f6\uff0c\u7f16\u8bd1\u5668\u4e0d\u77e5\u9053SIZE\u7684\u503c\u662f\u4ec0\u4e48\u3002
class test
{
const int SIZE = 100; // \u9519\u8bef\uff0c\u4f01\u56fe\u5728\u7c7b\u58f0\u660e\u4e2d\u521d\u59cb\u5316const\u6570\u636e\u6210\u5458
int array[SIZE]; // \u9519\u8bef\uff0c\u672a\u77e5\u7684SIZE
};
\u6b63\u786e\u7684\u4f7f\u7528const\u5b9e\u73b0\u65b9\u6cd5\u4e3a\uff1aconst\u6570\u636e\u6210\u5458\u7684\u521d\u59cb\u5316\u53ea\u80fd\u5728\u7c7b\u6784\u9020\u51fd\u6570\u7684\u521d\u59cb\u5316\u8868\u4e2d\u8fdb\u884c\u3002
\u6ce8\u610f\uff1a\u5bf9const\u6210\u5458\u53d8\u91cf\u7684\u521d\u59cb\u5316\uff0c\u4e0d\u80fd\u5728\u53d8\u91cf\u58f0\u660e\u7684\u5730\u65b9\uff0c\u5fc5\u987b\u5728\u7c7b\u7684\u6784\u9020\u51fd\u6570\u7684\u521d\u59cb\u5316\u5217\u8868\u4e2d\u5b8c\u6210\uff0c\u5373\u4f7f\u662f\u5728\u6784\u9020\u51fd\u6570\u5185\u90e8\u8d4b\u503c\u4e5f\u662f\u4e0d\u884c\u7684\u3002
\u5177\u4f53\u539f\u56e0\u8bf7\u53c2\u89c1 \u3010\u521d\u59cb\u5316\u5217\u8868\u548c\u8d4b\u503c\u7684\u533a\u522b\u3011
3.\u4f7f\u7528static const
\u901a\u8fc7\u7ed3\u5408\u9759\u6001\u53d8\u91cf\u6765\u5b9e\u73b0\uff1a

#include
class Year
{
private:
int y;
public:
static int const Inity;
public:
Year()
{
y=Inity;
}
};
int const Year::Inity=1997;//\u9759\u6001\u53d8\u91cf\u7684\u8d4b\u503c\u65b9\u6cd5,\u6ce8\u610f\u5fc5\u987b\u653e\u5728\u7c7b\u5916\u5b9a\u4e49
void main()
{
cout<<Year.Inity<<endl;//\u6ce8\u610f\u8c03\u7528\u65b9\u5f0f\uff0c\u8fd9\u91cc\u662f\u7528\u7c7b\u540d\u8c03\u7528\u7684\u3002
}

\u5230\u8fd9\u91cc\u5c31\u628a\u5728\u7c7b\u4e2d\u5b9a\u4e49\u5e38\u91cf\u7684\u65b9\u6cd5\u90fd\u9648\u5217\u51fa\u6765\u4e86\u3002
\u56db\u3001const\u5b9a\u4e49\u5e38\u91cf\u5bf9\u8c61\uff0c\u4ee5\u53ca\u5e38\u91cf\u5bf9\u8c61\u7684\u7528\u6cd5
class test
{
public:
test():x(1)
{
y=2;
}
~test()
{}
void set(int yy)
{
y=yy;
}
int getx() const
{
return x;
}
//protected:
const int x;
int y;
};
void main()
{
const test t;
t.set(33);//error
t.getx();
}
\u5e38\u91cf\u5bf9\u8c61\u53ea\u80fd\u8c03\u7528\u5e38\u91cf\u51fd\u6570\uff0c\u522b\u7684\u6210\u5458\u51fd\u6570\u90fd\u4e0d\u80fd\u8c03\u7528\u3002
\u4e94\u3001\u4f7f\u7528const\u7684\u4e00\u4e9b\u5efa\u8bae
\u8981\u5927\u80c6\u7684\u4f7f\u7528const\uff0c\u8fd9\u5c06\u7ed9\u4f60\u5e26\u6765\u65e0\u5c3d\u7684\u76ca\u5904\uff0c\u4f46\u524d\u63d0\u662f\u4f60\u5fc5\u987b\u641e\u6e05\u695a\u539f\u59d4\uff1b
\u8981\u907f\u514d\u6700\u4e00\u822c\u7684\u8d4b\u503c\u64cd\u4f5c\u9519\u8bef\uff0c\u5982\u5c06const\u53d8\u91cf\u8d4b\u503c\uff0c\u5177\u4f53\u53ef\u89c1\u601d\u8003\u9898\uff1b
\u5728\u53c2\u6570\u4e2d\u4f7f\u7528const\u5e94\u8be5\u4f7f\u7528\u5f15\u7528\u6216\u6307\u9488\uff0c\u800c\u4e0d\u662f\u4e00\u822c\u7684\u5bf9\u8c61\u5b9e\u4f8b\uff0c\u539f\u56e0\u540c\u4e0a\uff1b
const\u5728\u6210\u5458\u51fd\u6570\u4e2d\u7684\u4e09\u79cd\u7528\u6cd5\uff08\u53c2\u6570\u3001\u8fd4\u56de\u503c\u3001\u51fd\u6570\uff09\u8981\u5f88\u597d\u7684\u4f7f\u7528\uff1b
\u4e0d\u8981\u8f7b\u6613\u7684\u5c06\u51fd\u6570\u7684\u8fd4\u56de\u503c\u7c7b\u578b\u5b9a\u4e3aconst;
\u9664\u4e86\u91cd\u8f7d\u64cd\u4f5c\u7b26\u5916\u4e00\u822c\u4e0d\u8981\u5c06\u8fd4\u56de\u503c\u7c7b\u578b\u5b9a\u4e3a\u5bf9\u67d0\u4e2a\u5bf9\u8c61\u7684const\u5f15\u7528;

C++中const用法总结
作者JuKevin
1. const修饰普通变量和指针
const修饰变量,一般有两种写法:
const TYPE value;
TYPE const value;
这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。
对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。
例如:
const int nValue; //nValue是const
int const nValue; // nValue是const
但是对于指针类型的TYPE,不同的写法会有不同情况,例如:
A. const char *pContent;
B. char * const pContent;
C. char const *pContent;
D. const char* const pContent;
对于前三种写法,我们可以换个方式,给其加上括号
A. const (char) *pContent;
B. (char*) const pContent;
C. (char) const *pContent;
这样就一目了然。根据对于const修饰非指针变量的规则,很明显,A=C.
- 对于A,C, const修饰的类型为char的变量*pContent为常量,因此,pContent的内容为常量不可变.
- 对于B, 其实还有一种写法: const (char*) pContent;
含义为:const修饰的类型为char*的变量pContent为常量,因此,pContent指针本身为常量不可变.
- 对于D, 其实是A和B的混合体,表示指针本身和指针内容两者皆为常量不可变
总结:
(1) 指针本身是常量不可变
(char*) const pContent;
const (char*) pContent;
(2) 指针所指向的内容是常量不可变
const (char) *pContent;
(char) const *pContent;
(3) 两者都不可变
const char* const pContent;
还有其中区别方法:
沿着*号划一条线,
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
2. const修饰函数参数
const修饰函数参数是它最广泛的一种用途,它表示函数体中不能修改参数的值(包括参数本身的值或者参数其中包含的值)。它可以很好
void function(const int Var); //传递过来的参数在函数内不可以改变(无意义,因为Var本身就是形参)
void function(const char* Var); //参数指针所指内容为常量不可变
void function(char* const Var); //参数指针本身为常量不可变(也无意义, 因为char* Var也是形参)
参数为引用,为了增加效率同时防止修改。
修饰引用参数时:
void function(const Class& Var);//引用参数在函数内不可以改变
void function(const TYPE& Var); //引用参数在函数内为常量不可变
3. const 修饰函数返回值
const修饰函数返回值其实用的并不是很多,它的含义和const修饰普通变量以及指针的含义基本相同。
(1) const int fun1() 这个其实无意义,因为参数返回本身就是赋值。
(2) const int * fun2()
调用时 const int *pValue = fun2();
我们可以把fun2()看作成一个变量,那么就是我们上面所说的1.(1)的写法,即指针内容不可变。
(3) int* const fun3()
调用时 int * const pValue = fun2();
我们可以把fun2()看作成一个变量,那么就是我们上面所说的1.(2)的写法,即指针本身不可变。
4. const修饰类对象/对象指针/对象引用
const修饰类对象表示该对象为常量对象,其中的任何成员都不能被修改。对于对象指针和对象引用也是一样。
const修饰的对象,该对象的任何非const成员函数都不能被调用,因为任何非const成员函数会有修改成员变量的企图。
例如:
class AAA
{
void func1();
void func2() const;
}
const AAA aObj;
aObj.func1(); ×
aObj.func2(); 正确
const AAA* aObj = new AAA();
aObj->func1(); ×
aObj->func2(); 正确
5. const修饰成员变量
const修饰类的成员函数,表示成员常量,不能被修改,同时它只能在初始化列表中赋值。
class A
{

const int nValue; //成员常量不能被修改

A(int x): nValue(x) {}; //只能在初始化列表中赋值
}
6. const修饰成员函数
const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。一般写在函数的最后来修饰。
class A
{

void function()const; //常成员函数, 它不改变对象的成员变量. 也不能调用类中任何非const成员函数。
}
对于const类对象/指针/引用,只能调用类的const成员函数,因此,const修饰成员函数的最重要作用就是限制对于const对象的使用。
7. const常量与define宏定义的区别
(1) 编译器处理方式不同
define宏是在预处理阶段展开。
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define宏没有类型,不做任何类型检查,仅仅是展开。
const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
const常量会在内存中分配(可以是堆中也可以是栈中)。

我这里有个更加详细的,但这里贴不下了,如果需要,给我邮箱,发给你

const 的使用
const经常用来修饰一个值不能改变的量,安全,并且能消除存储操作
const的几种用法:
(1) 说明值常量
(2) 说明指针
(3) 说明函数参数及其返回值
(4) 说明类的常量和成员函数
(1)最简单
const int x = 10;
x在程序运行过程中,永远等于10.其他的你是看看我给的链接

  • const鐨勫嚑绉浣跨敤鏂规硶
    绛旓細const char* const ptr;锛3锛夊嚱鏁颁腑浣跨敤const a.浼犳寚閽堝弬鏁板墠娣诲姞const void* A(const char* Str); //Str鎸囧悜鐨勫唴瀹硅淇グ涓哄父閲 b.浼犲紩鐢ㄥ弬鏁板墠娣诲姞const void* A(const ClassType &obj); //obj鍦ㄥ嚱鏁颁綋鍐呰淇グ涓哄父閲 锛4锛夌被涓娇鐢╟onst a.浣跨敤const淇グ鎴愬憳鍙橀噺 浣跨敤const淇グ绫荤殑鎴愬憳...
  • const鍦╟璇█涓殑鐢ㄦ硶
    绛旓細1.const鏄疌璇█涓殑鍏抽敭瀛楋紝涓昏浣滅敤鏄檺瀹氫竴涓彉閲忎笉鍏佽琚敼鍙橈紝浜х敓闈欐佷綔鐢ㄣ浣跨敤const鍦ㄤ竴瀹氱▼搴︿笂鍙互鎻愰珮绋嬪簭鐨勫畨鍏ㄦу拰鍙潬鎬с傞櫎浜嗗父瑙勭殑瀹氫箟甯搁噺澶栵紝const杩樺彲浠ヤ慨楗板眬閮ㄥ彉閲忋佸叏灞鍙橀噺銆佸彉閲忔寚閽堜互鍙婁綔涓哄嚱鏁板弬鏁 2.鍦–璇█涓紝const鏈甯歌鐨勭敤娉曟槸浣滀负鏁扮粍鐨勮竟鐣屽拰switch鍒嗘儏鍐垫爣鍙凤紝鍚屾椂涔熷彲浠ュ畾...
  • c璇█涓const 鏄粈涔堟剰鎬,鎬庝箞鐢,浠涔堟椂鍊欑敤?
    绛旓細甯告寚閽堬細const 鏁版嵁绫诲瀷 *鎸囬拡鍙橀噺=鍙橀噺鍚 鎴栬呮槸 鏁版嵁绫诲瀷 const *鎸囬拡鍙橀噺=鍙橀噺鍚 杩欐槸鎸囬拡鎸囧悜鐨勫煎氨鏄笉鍙互鏀瑰彉鐨銆傝繕鏈変竴绉嶆儏鍐靛氨鏄寚閽堝彉閲忔湰韬笉鍙互淇敼锛屾寚閽堟寚鍚戠殑鍊间篃鏄笉鍏佽淇敼鐨勶紝灏辨槸鎸囬拡甯搁噺鍜屽父鎸囬拡缁勫悎锛岃繖绉嶇О涓 甯告寚閽堝父閲忥細const 鏁版嵁绫诲瀷 *const 鎸囬拡鍙橀噺=鍙橀噺鍚 鎴 鏁版嵁绫诲瀷...
  • 鍏充簬const鐨勭敤娉
    绛旓細TYPE const ValueName = value;const TYPE ValueName = value;(2)灏哻onst鏀逛负澶栭儴杩炴帴,浣滅敤浜庢墿澶ц嚦鍏ㄥ眬,缂栬瘧鏃朵細鍒嗛厤鍐呭瓨,骞朵笖鍙互涓嶈繘琛屽垵濮嬪寲,浠呬粎浣滀负澹版槑,缂栬瘧鍣ㄨ涓哄湪绋嬪簭鍏朵粬鍦版柟杩涜浜嗗畾涔.extend const int ValueName = value;2銆佹寚閽浣跨敤CONST (1)鎸囬拡鏈韩鏄父閲忎笉鍙彉 (char*) const pCo...
  • const鍑芥暟鐨勭敤娉
    绛旓細1銆佷慨楗板嚱鏁扮殑鍙傛暟锛歝onst鍙互淇グ鍑芥暟鐨勫弬鏁锛岀敤浜庨槻姝㈡剰澶栧湴淇敼璇ュ弬鏁般傚弬鏁伴噰鐢ㄦ寚閽堜紶閫掓柟寮忥紝浣跨敤const淇グ鍙互闃叉鎸囬拡鎵鎸囧悜鐨勫唴瀹硅淇敼銆2銆佷慨楗板嚱鏁扮殑杩斿洖鍊硷細褰撳嚱鏁扮殑杩斿洖鍊兼槸鎸囬拡绫诲瀷鏃讹紝浣跨敤const淇グ杩斿洖鍊煎彲浠ラ槻姝㈣繑鍥炵殑鎸囬拡鎸囧悜鐨勫唴瀹硅淇敼琛ㄧず鍑芥暟fun杩斿洖涓涓寚鍚戝父閲忓瓧绗︾殑鎸囬拡锛屾寚閽堟寚鍚戠殑...
  • const 鐢ㄦ硶
    绛旓細const鏄敤浜庢帶鍒惰闂拰淇敼鍙橀噺鏂瑰紡鐨勪慨楗扮锛鐢╟onst淇グ鐨勫彉閲忥紝鍦ㄧ▼搴忚繍琛岃繃绋嬩腑濮嬬粓淇濇寔涓嶅彉銆傛瘮濡俢onst int a=2;閭d箞鍙橀噺a灏变竴鐩存槸2锛屾湰鏉ュ彉閲忓湪绋嬪簭杩愯鏃讹紝鍙互闅忔椂璁╀粬鍙樺寲锛屼絾鍔犱簡const浠栫殑鍊煎氨涓嶈兘鍙樹簡銆
  • const鍦╟璇█涓殑鐢ㄦ硶
    绛旓細const鍙互鐢ㄦ潵瀹氫箟甯搁噺锛屽嵆鍦ㄧ▼搴忚繍琛屾湡闂村叾鍊间笉鑳芥敼鍙樼殑鍙橀噺銆備緥濡傦紝const int MAX_VALUE =100锛 瀹氫箟浜嗕竴涓悕涓篗AX_VALUE鐨勫父閲忥紝鍏跺间负100锛屼笖杩欎釜鍊煎湪绋嬪簭杩愯鏈熼棿涓嶈兘琚敼鍙樸俢onst涔熷彲浠ヤ笌鎸囬拡涓璧蜂娇鐢紝浠ラ槻姝㈡寚閽堟寚鍚戠殑鍊艰淇敼銆傚湪鍑芥暟鍙傛暟涓浣跨敤const鍙互闃叉鍑芥暟鍐呴儴鎰忓鍦颁慨鏀瑰弬鏁扮殑鍊笺
  • c++const鐢ㄦ硶
    绛旓細6.鍙互鑺傜渷绌洪棿锛岄伩鍏嶄笉蹇呰鐨勫唴瀛樺垎閰const瀹氫箟甯搁噺浠庢眹缂栫殑瑙掑害鏉ョ湅锛屽彧鏄粰鍑轰簡瀵瑰簲鐨勫唴瀛樺湴鍧锛岃屼笉鏄薄#define涓鏍风粰鍑虹殑鏄珛鍗虫暟锛屾墍浠ワ紝const瀹氫箟鐨勫父閲忓湪绋嬪簭杩愯杩囩▼涓彧鏈変竴浠芥嫹璐濓紝鑰#define瀹氫箟鐨勫父閲忓湪鍐呭瓨涓湁鑻ュ共涓嫹璐濄7.鎻愰珮浜嗘晥鐜囩紪璇戝櫒閫氬父涓嶄负鏅歝onst甯搁噺鍒嗛厤瀛樺偍绌洪棿锛岃屾槸灏嗗畠浠...
  • const鏄粈涔堟剰鎬?鎬庝箞鐢鍟?
    绛旓細浣跨敤鏂规硶鏄細const int a=1;//杩欓噷瀹氫箟浜嗕竴涓猧nt绫诲瀷鐨刢onst甯告暟鍙橀噺a;浣嗗氨浜庢寚閽堟潵璇碿onst浠嶇劧鏄捣浣滅敤鐨勶紝浠ヤ笅鏈変袱鐐硅鍗佸垎娉ㄦ剰锛屽洜涓轰笅闈㈢殑涓や釜闂寰堝鏄撴贩娣嗭紒鎴戜滑鏉ョ湅涓涓涓嬬殑渚嬪瓙锛 //绋嬪簭浣滆:绠″畞 //绔欑偣:www.cndev-lab.com //鎵鏈夌浠跺潎鏈夌増鏉,濡傝杞浇,璇峰姟蹇呰憲鍚嶅嚭澶勫拰浣滆 includ...
  • 鎬庝箞鐢╟onst
    绛旓細const TYPE value;TYPE const value;杩欎袱绉嶅啓娉曞湪鏈川涓婃槸涓鏍风殑銆傚畠鐨勫惈涔夋槸锛歝onst淇グ鐨勭被鍨嬩负TYPE鐨勫彉閲弙alue鏄笉鍙彉鐨勩傚浜庝竴涓潪鎸囬拡鐨勭被鍨婽YPE锛屾棤璁鎬庝箞鍐欙紝閮芥槸涓涓惈涔夛紝鍗硋alue鍙笉鍙彉銆備緥濡傦細const int nValue锛 //nValue鏄痗onst int const nValue锛 // nValue鏄痗onst 浣嗘槸瀵逛簬鎸囬拡...
  • 扩展阅读:手机右下角出现vconsole ... const double pi怎么用 ... 如何禁用console口 ... 关键字const ... 如何关闭绿色vconsole ... c++函数const ... construction site ... js中const用法 ... static怎么读 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网