メンバ変数nameを含むPersonオブジェクトの配列があります。文字列:: compareを使用してオブジェクトの文字列を比較するオーバーロードされた比較演算子を使用してアルファベット順に並べ替えることを試みています。オブジェクトへのポインタの配列をメンバ変数でアルファベット順にソート
bool Person::operator==(Person p) {
if (name.compare(p.name) == 0) {
return true;
}
else {
return false;
}
}
これは動作し、私に正しい結果を与えますが、私はアルファベット順に配列に名前を注文するためにこれを使用する方法を知りません。
私は周りを見回したと文字列の上にそのドキュメントを見てきました::比較彼らは同じ
- 0の間
関係は述べています一致しない最初の文字が比較文字列内でより低いか、比較されたすべての文字は一致しますが、比較文字列>はより短くなります。
- > 0一致しない最初の文字の値が比較文字列の>より大きいか、すべての比較文字が一致しますが比較文字列がより長いです。
私はこの情報で私の問題を解決する方法を考え出すことはできません。
私は何をしようとしているのか、それとも良い方法があるのでしょうか?
あなたのタイトルに* * *のところに記載されている*ポインタ*が表示されません。カスタムコンパレータ( 'std :: sort'を使用する場合は' operator <')を使用しているソートルーチン(' std :: sort'など)への呼び出しもありません。要するに、私は[最小限の、完全な、検証可能な例](https://stackoverflow.com/help/mcve)は見ません。 – WhozCraig
標準ライブラリでは、[テンプレート<クラスRandomIt、クラス比較> void sort(RandomIt first、RandomIt last、Compare comp);](http://en.cppreference.com/w/cpp/algorithm/sort )。 –