C和C++ const用法的區別
阿新 • • 發佈:2019-01-29
C/C++ const用法的區別
區別一:const定義的常量:
const定義的常量:
C語言:當修飾一個識別符號的時候我們來說,這個識別符號依然是一個變數,但是它具有常屬性,不能被修改。即它定義的變數叫做常變數
C++: const修飾的識別符號就是一個常量
下面我們通過例子來解釋一下它的區別:
eg1:
C語言和C++中,const修飾的識別符號都不能直接被改變,下面的例子就是在不同的語言中出現的錯誤
C語言:
#include <stdio.h>
int main()
{
int a = 10;
const int b = 10;
a = 20;//a是變數,a的值可以改變
b = 20;
printf("a = %d\n b = %d\n",a,b);
return 0;
}
C++ :
#include <iostream>
using namespace std;
int main()
{
int a = 10;
const int b = 10;
a = 20;//a是變數,a的值可以改變
b = 20;
cout<<"a = "<<a<<"\n"<<"b = "<<b;
return 0;
}
eg2:
C語言中,const修飾的識別符號是一個常變數,而非 常量
C++中,const修飾的識別符號就是一個常量,而且必須初始化,一旦建立,其值就不可能改變。
C語言:
#include <stdio.h>
int main()
{
const int b = 10;
int arr [10];
int arr1 [b];
return 0;
}
C++ :
#include <iostream>
using namespace std;
int main()
{
const int b = 10 ;
int arr [10] = {0};
int arr1 [b] = {0};
return 0;
}
區別二: const定義函式
const定義函式
C語言: 不可以定義const函式
C++ : 可以定義const函式