下面是關於const正確性的一個簡單問題。吸氣功能的Const正確性
我有這個類:
template <class T>
class Foo
{
public:
std::map<std::string, boost::any> members;
template <typename T>
std::vector<T>& member(const std::string& memberName)
{
return boost::any_cast<std::vector<T>&>(members[memberName]);
}
};
然後我有一個仿函數,其中包括以下內容:
什麼這裏讓我困惑的是,我不能按引用傳遞美孚爲const,因爲我調用非const成員getter函數。關於它的簽名,這給人的印象是operator()改變foo。
我應該改正這一點,如果是的話如何?
但問題是,我們可以安排通過'const'參考傳遞'foo'嗎? –