私は次のようなサンプルコードを持っています
template <typename BIT_LENGTH>
class mod {
public:
mod(BIT_LENGTH val) : m_val (powl(2,sizeof(BIT_LENGTH) * 8) - 1), _val(val) {
}
void value() {
std::cout << " sizeof -- " << sizeof(BIT_LENGTH) << std::endl;
std::cout << " value is : ---- " << m_val << std::endl;
std::cout << " value is : ---- " << _val << std::endl;
}
private:
BIT_LENGTH m_val;
BIT_LENGTH _val;
};
int main(){
mod<uint64_t> mod1(10);
mod1.value();
}
ここで、メンバー変数をテンプレート化された型の最大値に初期化したいと考えています。
それを行うための最良の方法は何ですか?.
powl 関数を使用するよりもきれいなものはありますか?