for const auto c m 這種形式的語句不能再用了嗎?為什麼我老編譯不了

2021-04-28 17:39:56 字數 2890 閱讀 8439

1樓:匿名使用者

c++11? 如果是的話,編譯的時候需要加上 -std=c++11 才可以

c語言定義常量為什麼不建議用#define

2樓:匿名使用者

c語言的常量就bai是使用#define定義的。你是說duc++吧?zhic++的常量推薦使用const 定義,因為#define只是dao單純的字元專替換,無法檢查資料型別,屬const定義常量需指明資料型別,利於編譯器進行型別檢查。

3樓:匿名使用者

1、那是因bai為對於#define定義,編譯du器會存放在一zhi個記憶區dao域,這個記憶區域相當於我專們稱為巨集

屬為了不把有需要的裝進這個區域,我們只把有必要的,特殊的放進去2、當用#deifne定義的量是不能更改的,這樣就沒法迴圈使用了。

4樓:匿名使用者

這個,看常量型別,如果程式中大量使用且以後可能要經常改變這個常量的值,還是用#define比較方便,否則的話就沒有必要了!

5樓:知識哥哥

樓上的哥們 你用什麼定義的常量可以賦值呢?

6樓:匿名使用者

函式中不能再被重新賦值!

c語言中const有什麼用途

7樓:天雲一號

const修飾的資料型別是指常型別,常型別的變數或物件的值是不能被更新的。

const關鍵字的作用主要有以下幾點:

(1)可以定義const常量,具有不可變性。 例如:

const int max=100; int array[max];

(2)便於進行型別檢查,使編譯器對處理內容有更多瞭解,消除了一些隱患。例如: void f(const int i) 編譯器就會知道i是一個常量,不允許修改;

(3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。

(4)可以保護被修飾的東西,防止意外的修改,增強程式的健壯性。 還是上面的例子,如果在函式體內修改了i,編譯器就會報錯; 例如:

void f(const int i)

(5) 為函式過載提供了一個參考。

class a //一個函式

void f(int i) const //上一個函式的過載 ......

}; (6) 可以節省空間,避免不必要的記憶體分配。 例如:

#define pi 3.14159 //常量巨集

const doulbe pi=3.14159; //此時並未將pi放入rom中 ......

double i=pi; //此時為pi分配記憶體,以後不再分配!

double i=pi; //編譯期間進行巨集替換,分配記憶體

double j=pi; //沒有記憶體分配

double j=pi; //再進行巨集替換,又一次分配記憶體!

const定義常量從彙編的角度來看,只是給出了對應的記憶體地址,而不是象#define一樣給出的是立即數,所以,const定義的常量在程式執行過程中只有一份拷貝,而#define定義的常量在記憶體中有若干個拷貝。

(7) 提高了效率。 編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為一個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高。

8樓:匿名使用者

(1)可以定義 const 常量

9樓:千鋒教育

const是一個c語言的關鍵字,它限定一個變數不允許被改變。使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別人**的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。

另外const在其他程式語言中也有出現,如c++、php5、c#.net、hc08 c。

(1)可以定義const常量,具有不可變性。

例如:const int max=100; max++會產生錯誤;

(2)便於進行型別檢查,使編譯器對處理內容有更多瞭解,消除了一些隱患。

例如: void f(const int i) 編譯器就會知道i是一個常量,不允許修改;

(3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!

如(1)中,如果想修改max的內容,只需要:const int max=you want;即可!

(4)可以保護被修飾的東西,防止意外的修改,增強程式的健壯性。 還是上面的例子,如果在函式體內修改了i,編譯器就會報錯;

例如: void f(const int i)

10樓:匿名使用者

const是一個關鍵字,用它在c或c++中可以定義一個常量,特點是這個常量不可以在程式中被修改,一但被程式意外修改編譯器就會報錯。

c語言定義變數如:int const a;與const int a;有什麼區別?

11樓:匿名使用者

baiint const *a 和const int *a 沒有區別,都是du

一個zhi指向一個int常量的指標,這個指標本身dao以後可以重賦值指向別的int常量。

而 int *const a; 表示a是一個指標常量,初始化的時候必須固定指向一個int變數,之後就不能再指向別的地方了。

#include

int main()

12樓:匿名使用者

在定義變來量的時候是沒有說明區自別的;例bai如:const int a; int const a;但是定義此類變數時du,一般zhi

放在前面!

const int *a和dao int * const a這個區別就很多了,第一個是保證指標所指的資料不能被修改,第二個是指標不能被修改

這配置如何,這配置如何

配置有問題 p4 506用915的主機板就行了,用945是浪費,945是支援雙核的主機板 顯示卡不好,應該換x1300核心的顯示卡 建議 p4 506 915 或者 pd805 945鍵盤滑鼠不好 微軟極動鯊加belkin鍵盤,超爽 不知道你做什麼用,既然是945的板子,而且是ddr2的記憶體,為什...

這配置怎樣!有比這更好的

lga2011的cpu配上x99主機板,記憶體插槽8個插滿,單條8g可以總共64g記憶體 顯示卡4塊titan組sli 風冷貓頭鷹或者利民,最好水冷。水冷的話,全套ek或koolance水冷頭 d5水泵,全套bp接頭ssd方面,840 evo是tlc快閃記憶體,換850 pro 512g。容量不夠的...

我這主機板能用這顯示卡和CPU嗎,我這主機板能用這顯示卡和CPU嗎

我這主機板能用amd a8 5600k?答 a8 5600k不能使用在當前主機板上,其道理就是主機板和處理器定義標準不一,主機板會把處理器當成肥皂,而處理器會把主機板當搓衣板。玩笑而已。我這主機板能用這gtx680顯示卡?答 可以使用這個顯示卡,但是其意義完全就是幾千萬的跑車上了鄉村土路,很遺憾你的...