yohhoyの日記

技術的メモをしていきたい日記

2016-06-01から1ヶ月間の記事一覧

オートボクシングと同一性比較の奇妙な振る舞い

Java言語において、オートボクシング(autoboxing)により生成されるプリミティブ型ラッパークラス・インスタンスの同値性/同一性について。注意:本記事は言語仕様の隅をつつく話題であり、大半のユースケースでequalsメソッドによる同値性判定が適切である…

可変引数リストと非PODクラス型の関係・改

gcc(g++)5以降では、C言語スタイルの可変引数リスト(...)に非PODクラス型(≒普通のC++クラス型)を渡すことができる。注意:この振る舞いはgcc 5以降という特定の処理系でのみ合法であり*1、またC++の型システムを無視するため、強い理由がない限りは利用し…

auto as ラムダ式の戻り値型

C++

C++14以降では、ラムダ式の戻り値型(trailing-return-type)としてautoキーワードを指定できる。*1 // C++11ではNG/C++14以降はOK auto f = [](int a, int b) -> auto { // int型に推論 return a + b; }; auto h = [](auto& v) -> decltype(auto) { return v…