C++

std::minmax は参照を返すので右辺値を渡してはいけない

C++

ABC353 終了後にTLに流れてきた内容がためになったのでメモ。 罠について 以下のコードの実行結果について考えます。 #include <iostream> #include <algorithm> int main() { { int a = 1, b = 2; auto [mn, mx] = std::minmax(a, b); std::cout << mn << ", " << mx << std::end</algorithm></iostream>…

Apple silicon (Apple M2) における g++ のリンカーエラー

C++

Macbook Air Apple M2 を購入し、競プロの環境構築中に遭遇したエラー。 すでに Homebrew で gcc をインストールしており、g++ で clang ではなく gcc が呼び出されているようになっている。(Homebrew GCC 13.2.0) 再現コード #include <vector> int main() { std:</vector>…

std::priority_queue に自作のラムダ式の比較関数を渡す

C++

ABC307 F - Virus 2 でハマったのでメモ。 ツイートは こちら。(教えてくださった方に感謝。) a < b という関係が成り立つときに a から先に要素を取り出したいとします。 ダメなやつ auto comp = [](const T& a, const T& b) -> bool { return a < b; }; …