質問: ブーストスレッドコード〜uintmax_t(0) ``` bool is_sentinel() const { return milliseconds==~uintmax_t(0); } ``` 私はthread_data.hppでこのコード行を見つけましたが、なぜ `-1` ではなく`〜uintmax_t(0)`ですか? **編集:** 理由がコンパイラの警告を避けるのであれば、なぜ使用しないのですか? `std::numeric_limits(decltype(milliseconds)>::max()` ?
回答: `~uintmax_t(0)` is the simplest way to produce an all-ones value of type `uintmax_t` that does not produce compiler warnings.