鑑於此代碼(從我的最後一個職位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`
如果我的命名不正確,請原諒/糾正我。我不知道const_cast的使用。一般來說,在我看來,如果你必須使用const_cast,那麼你的類/方法可能從根本上有缺陷unless you're using legacy functions that aren't const-correct。不過,我可能會偶然發現一個適用的情況。我有一對夫婦,在施工過程中分配了一個大班,並且在對象的使用年限中保持不變。
我使用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>
在一個對象中,我有一個const-句柄數組給另一個特定類的一些對象。在一種方法中,我可能想要返回這個句柄之一作爲inout-參數。這裏作爲一個簡化的例子: class A {}
class B {
const(A) a[];
this() {
a = [new A(), new A(), new A()];
}
void assign_co
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