const-cast

    7熱度

    2回答

    我試圖從變量(char *)中刪除常量,但由於某種原因,當我嘗試更改該值時,常量變量的原始值仍保持不變。 const char* str1 = "david"; char* str2 = const_cast<char *> (str1); str2 = "tna"; 現在的str2的變化,但str1中原始值的值保持不變,我看它在谷歌,但找不到一個明確的答案。 當使用const_cast並

    0熱度

    3回答

    鑑於此代碼(從我的最後一個職位here): const int j = 5; // constant object const int *p = &j; // `p` is a const access path to `j` int *q = const_cast<int *>(p); // `q` is a non-const access path to `j`

    0熱度

    1回答

    如果我的命名不正確,請原諒/糾正我。我不知道const_cast的使用。一般來說,在我看來,如果你必須使用const_cast,那麼你的類/方法可能從根本上有缺陷unless you're using legacy functions that aren't const-correct。不過,我可能會偶然發現一個適用的情況。我有一對夫婦,在施工過程中分配了一個大班,並且在對象的使用年限中保持不變。

    -6熱度

    1回答

    我使用C++ 11標準的代碼轉換的這個問題: #include<unordered_set> struct B { int x, y; }; class A { struct hash { std::size_t operator()(int* const a) const { return std::hash<int>

    2熱度

    1回答

    我想調用從OpenSSL庫此功能下面prototy定義: X509 *d2i_X509(X509 **px, const unsigned char **in, int len); 第二個參數in定義爲const unsigned char **因爲: d2i_X509將不會修改由*in指向的緩衝區中的數據 *in將增加從數據分析的數據量 緩衝。 現在這個原型是一個問題,因爲據我所知,該函數不

    1熱度

    3回答

    我有一些問題,使用const_cast刪除常量。錯誤味精說「轉換爲有效的標準轉換......」 是什麼這個問題的本質是什麼?爲什麼我應該使用C風格演員? 「 」錯誤C2440:'const_cast':無法從'const size_t'轉換爲'size_t'「 」轉換是一種有效的標準轉換,可以隱式執行或使用static_cast,C風格轉換或函數式的鑄造」 template<typename T>

    4熱度

    1回答

    在一個對象中,我有一個const-句柄數組給另一個特定類的一些對象。在一種方法中,我可能想要返回這個句柄之一作爲inout-參數。這裏作爲一個簡化的例子: class A {} class B { const(A) a[]; this() { a = [new A(), new A(), new A()]; } void assign_co

    0熱度

    3回答

    Sample_Program-1 #include<iostream> using namespace std ; int main(){ const int i = 9; int *j = const_cast<int*>(&i); //Ok int *j = const_cast<int*>(i); //Error } Sample_Program-2 #includ

    7熱度

    9回答

    這可能似乎是一個愚蠢的問題,但我真的需要澄清這一點: 這會給我的程序帶來什麼危險? 是否需要const_cast? 如果我改變了輸入指針的值,它將會與std::string一起安全地工作還是會產生未定義的行爲? 到目前爲止,唯一的問題是,只要修改輸入指針並使其不可用,就會影響字符串「some_text」。給我一些提示 std::string some_text = "Text with some

    4熱度

    3回答

    我使用外部庫來處理2個應用程序之間的udp(OSC)通信。 要格式化將要發送的消息,庫需要一個char *,但我從UI中得到一個字符串,我必須進行轉換。 當我在處理UDP的部分是硬編碼一樣,我的代碼的其他部分: char* endofMess = "from setEndMess"; 和工作正常。我認爲這將是很容易得到它與我的字符串並寫道: std::string s = "from setE