non-type template parameter

#include<iostream>
#include<vector>
#include<list>
template<typename T, int MAXSIZE>
class MyContainer {
	public:
		MyContainer(){
			std::cout<<MAXSIZE<<std::endl;
		}
		int capacity() const {
			return MAXSIZE;
		}

	private:
		T elements[MAXSIZE];
};
// Like normal type templates, non-type template parameters can also have default values, such as:
template<typename T, int MAXSIZE = 10>
class MyContainer2 {
	public:
		MyContainer2(){
			std::cout<<MAXSIZE<<std::endl;
		}
		int capacity() const {
			return MAXSIZE;
		}

	private:
		T elements[MAXSIZE];
};
int main() {
	MyContainer<int,50> c1;
	MyContainer2<int> c2;
	
	return 0;
}



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326356477&siteId=291194637