簡體   English   中英

C ++將標志添加到const方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM