C ++セットの使用方法についていくつか質問があります(std :: set)
2つのC++セットの和集合、共通部分、または差を取得する方法はありますか?(それを行うために独自の関数を作成するのは非常に簡単ですが、そのための組み込み関数があるかどうかを知りたかったのです)
C ++セットをマップのキーとして使用できますか?
C ++セットの使用方法についていくつか質問があります(std :: set)
2つのC++セットの和集合、共通部分、または差を取得する方法はありますか?(それを行うために独自の関数を作成するのは非常に簡単ですが、そのための組み込み関数があるかどうかを知りたかったのです)
C ++セットをマップのキーとして使用できますか?
set_difference()
、、、および関数set_union()
を使用します。set_intersection()
set_symmetric_difference()
セットとマップは、比較できるすべてのキータイプをサポートします。デフォルトでは、これはタイプがoperator<()
定義されていることを意味しますが、独自のコンパレータを提供できます。C ++セットはoperator<()
定義されていないため、独自のコンパレータを提供しない限り、キーとして使用することはできません。
それらを比較できるクラスまたは関数を提供する限り、マップ内のキーとして何でも使用できます。これが例です。