本人對C++中的const的用法有很大問題,因為const老是加到類啊,函數啊,變量啊之類的,把我搞得暈頭轉向了,有哪位高手能指點下啊,不勝感激
2 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
我來說一下,具體原因應該是這個,常變量在定義的時候必須初始化,所以當你在a.cpp中定義extern const double pi=3.14; b.pp中extern const double pi;可以通過編譯運行。因為當編譯系統發現a.cpp中的全局常變量時,就知道它pi是常量,而換過來的時候,在a.cpp中定義const double pi=3.14; b.pp中extern const double pi;編譯系統在編譯a.cpp是沒有問題的,但到了b.cpp中就會發現,有一個外部常量是沒有初始化的,而常量是不能在聲明后再進行定義的,所以編譯系統會認為找不到它的定義,所以就出錯。
對于extern "C"主要是因為c和c++編譯器不同,它們對相同的函數名編譯后生成的相同的標示不同,故而在引用c的庫文件時必須使用extern “C”告訴編譯器,它是c的函數,按c的規則編譯。通常我們使用的標準頭文件已被處理過。 貌似沒有用于常量的聲明。
- 2 回答
- 0 關注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消