問題文↓
http://www.deqnotes.net/acmicpc/p0105/ja
答え↓
http://www.deqnotes.net/acmicpc/p0105/p0105-deq- …
です。
自分で調べたのですが、答えの中の
int operator<(const Event &a) const {
return time != a.time ? time < a.time
: type > a.type;
と、
ev.push_back(start);
ev.push_back(end);
の意味がよくわかりませんでした。
int operatorに関しては、sortの条件を作っているのかなとは思うのですが。
どなたか、上に挙げたふたつの部分の解説をしていただきたいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「演算子のオーバーロード」を調べてください。
通常の < 演算子は、 a < b → aがbより小さければ1,そうでなければ0 という演算をします。
通常は数値同士の場合しか使えませんが、これをクラス等にも使えるようにするのが「演算子のオーバーロード」です。
なんでも定義できますが、元の演算子と同じ動作をさせるべきでしょう。
Event x,y ;なら
x < y → xがyより「小さい」ならば1,そうでなければ0
という関数にするのが妥当です。
> <(const Event &a) constの部分は、<で引数が二つということを表しているのですか。
表していません。
「operator <」 がセットです。
引数は1つです。
> そして、{}内は、returnする内容を表しているのですか
聞かないとわからないことですか?
No.2
- 回答日時:
STL.
sort は, 結果として得られる列において a, b の順に隣接する要素が (ちょっと不正確ですが) a < b を満たすように並べ替えるんだけど, 内部的に x < y という比較をするために演算子 < が必要です (ただし比較関数を与える 3引数バージョンもあって, そっちを使うことにすればこの演算子はなくてもいい).
push_back は「最後尾に要素を追加する」メンバー関数です.
この回答への補足
ありがとうございます。STLについて調べました。
int operator<(const Event &a) const {
return time != a.time ? time < a.time
: type > a.type;
}
では、上記の<(const Event &a) constの部分は、<で引数が二つということを表しているのですか。
そして、{}内は、returnする内容を表しているのですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- 英語 Think back to the last time you gave a little pres 3 2023/01/29 23:50
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- C言語・C++・C# C言語 3 2022/11/09 13:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MFCを使って、ひとつのkey(CStr...
-
bxSliderで動画をスライドごと...
-
(VBS) テキストファイル読込で...
-
WebサイトのHTMLオブジェクトの...
-
フォームをリサイズ後に動作を行う
-
エクセルの散布図で選択してい...
-
ロールオーバーで大きくバナー...
-
PL/Iについて、教えてください。
-
ファンクションキーの既存の機...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
デジタル時計の時刻合わせの方...
-
一定時間おきにアラームやポッ...
-
Javascript_submit()完了後に処...
-
PDFを(htmlのように)無限に縦...
-
小さな表示窓の呼び方は
-
エクセルVBAでフォームのListbo...
-
VBA ポップアップが表示された...
-
Excelでワードアートや図を常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA/HTML】特定のタグ要素に...
-
ajax
-
(VBS) テキストファイル読込で...
-
JQuery、セレクトボックスをル...
-
VC++のデバッガでvectorの要素...
-
JavaScriptでクリップボードの...
-
WebサイトのHTMLオブジェクトの...
-
VBA HTTPを用いたWEB画面の取...
-
【VB.NET】HTML要素を取得しよ...
-
スプレッドシートのチェックボ...
-
PL/Iについて、教えてください。
-
no confilict で value値が取れな
-
javascriptを一つのjsファイル...
-
エクセルでタグの内容が取得で...
-
マウスの入って来た方向を検出...
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
一定時間おきにアラームやポッ...
おすすめ情報