⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 05-01-03.cpp

📁 more efftive 代码
💻 CPP
字号:
#include <iterator>using namespace std;template <class T, size_t N>struct block {  typedef T value_type;    typedef value_type* pointer;  typedef const value_type* const_pointer;  typedef value_type& reference;  typedef const value_type& const_reference;    typedef ptrdiff_t difference_type;  typedef size_t size_type;    typedef pointer iterator;  typedef const_pointer const_iterator;    iterator begin() { return data; }  iterator end() { return data + N; }    const_iterator begin() const { return data; }  const_iterator end() const { return data + N; }  typedef reverse_iterator<const_iterator> const_reverse_iterator;  typedef reverse_iterator<iterator> reverse_iterator;    reverse_iterator rbegin() { return reverse_iterator(end()); }  reverse_iterator rend() { return reverse_iterator(begin()); }  const_reverse_iterator rbegin() const {    return const_reverse_iterator(end());   }  const_reverse_iterator rend() const {    return const_reverse_iterator(begin());   }    reference operator[](size_type n) { return data[n]; }  const_reference operator[](size_type n) const { return data[n]; }    size_type size() const { return N; }  size_type max_size() const { return N; }  bool empty() const { return N == 0; }    void swap(block& x) {    for (size_t n = 0; n < N; ++n)      std::swap(data[n], x.data[n]);  }  T data[N];};template <class T, size_t N>bool operator==(const block<T,N>&x, const block<T,N>& y){  for (size_t n = 0; n < N; ++n)    if (x.data[n] != y.data[n])      return false;    return true;}template <class T, size_t N>bool operator<(const block<T,N>&x, const block<T,N>& y){  for (size_t n = 0; n < N; ++n)    if (x.data[n] < y.data[n])      return true;    else if (y.data[n] > x.data[n])      return false;    return false;}int main(int argc, char *argv[]){  block<int, 6> A = {1, 4, 2, 8, 5, 7};  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -