[英]c++ add flag to a const method
我有一些用於收集器的類,並且有2種方法,例如:
bool MyCollectorChanged() const;
bool MyCollectorDoSomeOperation() const;
我無法更改這些方法的簽名,這意味着我無法從簽名中刪除const
。
我想在某些情況下設置/取消設置MyCollectorChanged()
某些標志,因此我可以檢查MyCollectorDoSomeOperation()
的標志值。
將成員標志添加到類將不起作用,因為MyCollectorChanged()
是const方法,因此我無法在MyCollectorChanged()
更改成員標志。
有選擇的辦法嗎? 我如何在MyCollectorChanged()
設置/取消設置某些標志,以便在MyCollectorDoSomeOperation()
可見?
選項1
如果可以選擇更改private
成員變量的屬性,則可以使其中一些mutable
。 然后,您將能夠在const
成員函數中更改它們的值。
有關更多信息,請參見http://en.cppreference.com/w/cpp/language/cv 。
選項2
如果可以選擇使用Pimpl慣用語 ,則可以更改表示主class
數據的class/struct
中任何成員變量的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.