我々はすぐにVS2015にアップグレードされ、私は破壊の変更リストでこれを見つけた:Visual Studio 2015:constポインタのセットは許可されていますか?
constの要素
C++のconst要素 の標準常に禁じられたコンテナ(このようなベクターとして、あるいは設定) 。 Visual C++ 2013およびそれ以前のバージョン がこのようなコンテナを受け入れました。現在のバージョンでは、そのようなコンテナはコンパイルするには に失敗します。
これもセットに適用された場合、誰もが知っている場合、私は思っていました。 私は地図にconstポインタがキーとして含まれている可能性があることを知っています。
例:
std::set<const QObject*>
が、私はまだこれを行うことができますか?私はマイクロソフトのサイトのポストによると、そうは思わないだろう。
'のconst Tの*'と 'Tの*のconst'ません同じこと:あなたが失敗する
map
コードをしたい場合は、このようなカスタムアロケータを指定する必要があります。 –引用には、文字通りセットに適用されることが記載されています。しかし、あなたのコードは見積もりとはあまり関係がありませんので、あなたは安全です:) –
アスタリスク(または参照のアンパサンド)の前のスペースを省略して、誤解を招くような、 。 'const QObject *'を書くと、 '*'は 'const'よりもQObjectに厳密に束縛されていることが視覚的に示唆されます。 'const'を動かすことは役に立ちません:' QObject const * '。それは 'return a * x + b * y;'のようなものです。 –