Windows コマンドプロンプト

[Windows] パイプでつないだコマンドはサブシェルで実行される

echo foo | set /p x= で x は設定できない [Windows] コマンドプロンプトで文字列入出力のTips では改行なしのメッセージを set /p を使って出力した。 >set /p x=hello<nul & echo worl...

Java Stream API ジェネリクス

[Java] Streamで例外処理を扱う

UncheckedIOException Java8から UncheckedIOException という例外が追加されている。 https://docs.oracle.com/javase/jp/8/docs/api/java/io/UncheckedIOExcepti...

C

[C] ポインタのアドレス参照範囲と未定義処理

不正ポインタ CでNULLポインタや解放済みのメモリ領域を指すポインタ(ダングリングポインタ)を参照すると、未定義の動作となる。 バッファオーバーランとかの書き込みではなく、厳密にいうと参照だけで未定義動作になるんだね。 ただし、ポインタが指している領域ではなく、ポインタ...

C

[C] マクロトークンの文字列化

マクロの文字列化演算子 Cのマクロで数値定数が存在する場合にログに数値のみではなく、定数名を出力したい場合がある。 こういうときはマクロの文字列化演算子(#)を使う。 #define STR(S) #S #define ORANGE 1 #define APPLE ...