簡體   English   中英

使用const指針或指針作為`std :: map`的鍵

[英]use const pointer or pointer as the key for `std::map`

#include <map>

class ClassOne
{
   //...
};

int main() {
    std::map< ClassOne *, int >             mapA;
    std::map< const ClassOne *, int >       mapB;
    std::map< ClassOne *const, int >        mapC;
    std::map< const ClassOne * const, int > mapD;

    return 0;
}

問題>我需要使用ClassOne地址作為std::map的鍵。 哪個是最佳選擇?

謝謝

這取決於您實際想要做的事情-但是,您很少想要更改鍵,所以如果您不打算更改指針 ,那么請使用ClassOne * const 如果您不想更改指針指向的對象, const ClassOne * const

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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