18 lines
		
	
	
		
			547 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			547 B
		
	
	
	
		
			C++
		
	
	
	
 | 
						|
template <typename T>
 | 
						|
constexpr T my_pi = T(3.1415926535897932385L);  // variable template
 | 
						|
 | 
						|
template <> constexpr char my_pi<char> = '3';   // variable template specialization
 | 
						|
 | 
						|
template <typename T>
 | 
						|
struct Wrapper {
 | 
						|
  template <typename U> static constexpr U my_const = U(1);
 | 
						|
   // Variable template partial specialization with member variable.
 | 
						|
  template <typename U> static constexpr U *my_const<const U *> = (U *)(0);
 | 
						|
};
 | 
						|
 | 
						|
constexpr char a[] = "hello";
 | 
						|
 | 
						|
template <> template <>
 | 
						|
constexpr const char *Wrapper<float>::my_const<const char *> = a;
 |