개인 데이터 멤버 (_val
: class B
)를 사용하는 것이 더 좋고 val
을 템플릿 매개 변수()로하는 것이 더 좋은 경우?왜 상수 표현식을 템플릿 매개 변수로 사용합니까?
#include<iostream>
using namespace std;
template<int val>
class A{
public:
A(){ cout << val << endl;}
};
class B{
public:
B(int val) : _val(val) { cout << val << endl;}
private:
int _val;
};
int main()
{
A<7> a;
B b(8);
}
런타임 중에 값을 변경 하시겠습니까? 그러면 거기에 대답이 있습니다. –
@ chuck No. 템플릿은 컴파일 타임 구조입니다. – Rapptz
@chuck, 객체'A <7> a '를 만든 후'val'을 7에서 8로 변경하는 방법은 무엇입니까? – cpp