2
A
回答
7
這是用於成員函數(在類或結構中)。這意味着該方法不會更改它所操作的實例的狀態(例如,不會更改任何成員變量)。
2
它表示它不會改變類的成員作爲副作用。
+1
除了可變成員 – 2011-02-24 14:27:36
1
3
當你調用非靜態成員函數時,你總是在某個對象上調用它,對吧?該對象作爲參數傳遞(隱式)。例如,如果GetPrice是類X的方法,則它具有類型X&
的隱式參數。然後該方法是const,隱式參數的類型爲const X
&,因此成員函數不能更改其被調用的對象的任何數據成員,除非數據成員被聲明爲mutable
。
相關問題
- 1. 「這」在這裏代表什麼?
- 2. 呃這裏代表什麼?
- 3. 運算符在這裏重載是什麼:String8 :: operator const char *()const
- 4. 爲什麼這個迭代器是const?
- 5. 這段代碼在這裏做什麼?
- 6. 這個C++代碼是什麼意思? 'const ResTable&res = am-> getResources();'
- 7. 這個c代碼行做什麼? (const VAR =「string」;)
- 8. C++:究竟是什麼「:」在這裏做?
- 9. 這裏沒有什麼意思/代表什麼?
- 10. 在這行代碼中,const char * yes [5]是什麼?
- 11. 我在這裏用什麼來代替int? C#CMD
- 12. 這是什麼C#代碼做(列表)?
- 13. 什麼是str()在這裏表示?
- 14. Oracle CONCURRENCY_WAIT_TIME在這裏表示什麼?
- 15. 什麼是這裏的正則表達式在這裏做
- 16. 這裏代表的這兩個是什麼?
- 17. 這個python代碼在這裏有什麼錯?
- 18. 爲什麼我能夠改變這裏用const int的價值?
- 19. []在C#中代表什麼#
- 20. Groovy在這裏做什麼?
- 21. 在這裏宣佈什麼?
- 22. 爲什麼mutableCopy在這裏?
- 23. subl在這裏做什麼?
- 24. 爲什麼ExceptionInInitializerError在這裏?
- 25. CLD在這裏做什麼?
- 26. 什麼對象在這裏?
- 27. 爲什麼這裏正在
- 28. int *在這裏是什麼?
- 29. lua_pcall在這裏做什麼?
- 30. mod_rewrite在這裏做什麼?
除非它們被聲明爲可變 – 2011-02-24 14:27:18
@Armen Tsirunyan:如果它們被聲明爲可變的,那麼在技術上它們不是對象邏輯狀態的一部分。 – 2011-02-24 16:48:37
我在抱怨短語「不會更改任何成員變量」 – 2011-02-24 17:05:38