const

    2熱度

    5回答

    我很清楚C#不允許switch塊中的readonly字段,這是this question地址。 我想了解爲什麼這種情況。這只是一個任意的語言規範怪癖,還是背後有技術原因?如果是這樣,那麼技術原因是什麼? 讓我說清楚,我明白const和readonly之間的區別,我知道C#switch需要const值,或在編譯時已知值。 對我來說,在功能上,使用大量的if..else if語句具有相同的結果作爲使用

    -1熱度

    2回答

    所以我想將一些整數轉換成我的終端可以寫入的字符數組。所以我可以在運行時看到我的代碼計算的值用於調試目的。 如如果int_t計數= 57我想要的終端寫57. 所以字符*將是5個字符的陣列和7 這裏的起腳雖然是,這是在獨立環境中,使得裝置沒有標準的C++庫。 編輯: 這意味着沒有std :: string,沒有c_str,沒有_tostring,我不能只打印整數。 我有機會獲得的0646,stddef

    6熱度

    5回答

    是否有一個原因的strcpy的簽名是這樣的: char *strcpy(char *dest, const char *src); ,而不是這個? char *strcpy(char *const dest, const char *src); 據我所知,函數永遠不會改變指針。 我誤解了什麼const指針應該用於?在我看來,當我寫一個函數接受一個不會被改變的指針(通過realloc等),然

    1熱度

    3回答

    我知道const對象不能調用非const成員函數。它還代表了在C++ 14標準(ISO/IEC 14882:2014)第9.3.2節,第3段: 甲CV-合格成員函數可以被稱爲上的對象表達式(5.2 .5)只有當對象表達式是成員函數的cv-qualified或less-cv-qualified。 如果成員函數不修改任何東西,這個約束是否有意義?或者,如果成員函數修改一個可變變量?例如: class

    1熱度

    1回答

    我只是想將Delphi 2007應用程序轉換爲Delphi 10.在2007版本的軟件中,我使用了一個常量的TFormatSettings。由於TFormatSettings類型在兩者之間發生了變化,我遇到了以下問題: 如何定義TFormatSettings常量?我試過如下: XML_FormatSettings : TFormatSettings = ( CurrencyString:

    0熱度

    1回答

    比方說,我有一個C以下設置++程序,在全球/命名空間範圍(以外的任何塊): 情況1: a.cpp extern const int i=5; b.cpp extern const int i; 有兩種方式,在我的腦海裏,編譯器可以看到這一點。一個是,真正的聲明是在b.cpp中,而a.cpp只有一個前向聲明和初始化。 (因爲我們知道,對於特定的外部常量,在聲明時不需要初始化)編譯器可能生成的

    1熱度

    4回答

    我有2個定義,其中一個帶有一個字符串,另一個帶有一個數字。如何從字符串和數字定義一個常量數組。這個數組中還有一些額外的常量。 我該如何編寫這段代碼,使之在數組foobar中具有0x22,0x41,0x42,0x42,0x21,來自定義的FOO和BAR? #define FOO "AB" #define BAR 33 extern int rs232_write(const unsigned

    -3熱度

    1回答

    我創建了一個名爲的DataGrid組件類和裏面我創建了一個常量定義幾個要素: const ResultTypes = { Email : 1, Event : 2, Contact: 3, File : 4, Skype : 5 } 要訪問它在當前類,或js文件我簡單的使用這個: if (x === ResultTypes.Email)

    0熱度

    1回答

    據說,const變量要從外部引用(即有外部鏈接),extern關鍵字是強制性的。所以: const int f = 3; // Definition of f with internal linkage (due to const) extern const int g; // Declaration of g with external linkage 如果這是正確的,那麼如何以下罰款仍然

    2熱度

    2回答

    我正在尋找關於如何使用const添加附加保護的規則。 例如: int** p1 = ...; int** const p2=p1; // Legal int* const * const p3=p1; // Legal int* const * const p4=p3; // Legal const int* const * const p5=p3; // Error int*** c