std::bitset<N> are types, so you can create a template function that accepts a generic type
template <typename T>
void foo (T n)
{ std::cout << n.size() << "\n"; }
, std::bitset, size(), , std::cout, STL (std::set, std::vector, std::map ..).
, , foo()
std::vector<int> v(20);
foo(v);
, .
, a std::bitset, , songyuanyao: std::bitset templatize .
template <std::size_t N>
void foo (std::bitset<N> n)
{ std::cout << n.size() << "\n"; }
size(); N
template <std::size_t N>
void foo (std::bitset<N>)
{ std::cout << N << "\n"; }
, foo std::bitset<N> ( ) N (, [10,20[), ++ 11, SFINAE -
template <std::size_t N>
typename std::enable_if<(N >= 10U) && (N < 20U)>::type foo (std::bitset<N>)
{ std::cout << N << "\n"; }
std::bitset<10> n10;
std::bitset<15> n15;
std::bitset<25> n25;
foo(n10);
foo(n15);