类中使用常量的方法

1、宏定义

#include <iostream>
#include <array>
#include <vector>
#define SIZE 100

template<class T>
class Object{
    
    
private:
     static 
     std::array<T,SIZE>data; 
public:
     Object(){
    
    
       
     }
};
int main(){
    
    
      Object<int>obj;
      return 1;
}

2、全局常量

#include <iostream>
#include <array>
#include <vector>
const int SIZE = 100;
template<class T>
class Object{
    
    
private: 
     std::array<T,SIZE>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;


      return 1;
}

3、类中使用static

#include <iostream>
#include <array>
#include <vector>
template<class T>
class Object{
    
    
private: 
      static const int SIZE = 100;
      std::array<T,SIZE>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;
      return 1;
}

4、enum class 的使用

#include <iostream>
#include <array>
#include <vector>
template<class T>
class Object{
    
    
private: 
      enum class NumSpace{
    
    
            SIZE = 100,
      };
      std::array<T,static_cast<int>(NumSpace::SIZE)>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;
      return 1;
}

猜你喜欢

转载自blog.csdn.net/qq_44741914/article/details/132170168