原文:C++中的error C2662,const的this指針問題

今天在寫C 代碼的時候遇到一個錯誤,涉及到了常量的this指針的問題。 簡化后的代碼如下: 這段代碼在注釋處會報編譯錯誤如下: 報錯提示無法將this指針由 const A 類型轉為 A amp 類型。 幾番查找下得知問題在於代碼中的print 函數被聲明了為const的,C 在調用類成員函數時會隱式的傳遞this指針,而將函數聲明為const即相當於this指針被聲明為const的,如下: 這個 ...

2015-08-26 19:22 0 4371 推薦指數:

查看詳情

C++ const 引用 指針

C++ const 引用 指針 先簡單回憶一下常量的性質: 初始化時: 當用一個對象去初始化另外一個對象,他們是不是const就無關緊要 ci是整形常量,但ci的常量特征僅僅在執行 改變ci 的操作時才會發揮作用 const和引用 對常量的引用 把引用綁定到const對象 ...

Mon Sep 16 05:38:00 CST 2019 0 1167
C++ this指針const成員函數

this指針 this指針:成員函數通過一個名為this的隱式形參來訪問調用它的那個對象。this由調用該成員函數的對象的地址初始化。 this是一個常量指針,因為this總是指向“這個”對象,不允許改變this中保存的地址。 const成員函數 ...

Fri Mar 22 22:20:00 CST 2019 0 546
C/C++const

1 Cconst Cconst修飾的變量是只讀變量,在使用const關鍵字聲明定義變量時會給該變量分配內存空間。 const修飾的全局變量默認是外部鏈接的,即其它源文件可以直接使用該變量。 const修飾的局部變量存儲在棧區,不能通過變量名直接修改該變量的值,但是可以通過指針的方式 ...

Sat Apr 17 23:50:00 CST 2021 0 312
C++引用和const引用、常量指針指針常量

1、引用、常量引用 引用主要被用做函數的形式參數--通常將類對象傳遞給一個函數. 引用在內部存放的是一個對象的地址,它是該對象的別名。引用不占用內存,因為取地址引用的值和被引用變量的地址相同。但是objdump –d xx底層編譯器實現其實還是指針。 (1)引用必須初始化. 但是用對象的地址 ...

Thu Feb 28 04:16:00 CST 2019 0 1951
C++const用法

1.const指針: 如果const出現在星號左邊,表示被指物是常量;如果出現在星號右邊,表示指針自身是常量;如果出現在星號兩邊,表示被指物和指針兩者都是常量。 char greet[] = “Hello”; char* p = greet; //①greet不能變,即不能通過(*p ...

Sun Jun 02 06:27:00 CST 2019 0 6434
C++const的應用

const常量相對與宏常量優勢: const常量有數據類型,而宏常量沒有數據類型。編譯器可以對前者進行類型安全檢查,而對后者只進行字符替換,沒有類型安全檢查,並且在字符替換時可能會產生意料不到的錯誤。 常見的const用法: 常變量: 取代了C的宏定義,聲明時必須進行初始化 ...

Sun Sep 15 19:24:00 CST 2019 0 856
C++ const 詳解

作者:jostree 轉載請注明出處 http://www.cnblogs.com/jostree/p/4235721.html 1.為什么使用 const int 而不使用 #define 在使用#define時,比如#define Max 10000,如果出現錯誤,編譯器並不會提示Max ...

Tue Jan 20 20:20:00 CST 2015 0 6729
c++const函數

const變量的基礎:(這里給出一個小例子) const *p://*p不可以改 int *const p;//p不可以改 const int *const p//二者都不可以改 正文: 在C++,只有被聲明為const的成員函數才能被一個const類對象 ...

Fri Mar 09 23:42:00 CST 2018 0 1341
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM