인프런 커뮤니티 질문&답변

grandstayner님의 프로필 이미지
grandstayner

작성한 질문수

C++20 훑어보기

Non-Type Template Parameter

StringLiteral에서 [N]은 어떻게 동작되는건가요?

작성

·

180

·

수정됨

0

안녕하세요

강의를 보다가 궁금한 점이 생겨서 질문드려요

 

template<int N>
class StringLiteral
{
public:
    constexpr StringLiteral(char const (&str)[N])
    {
        std::copy(str, str+N, _data);
    }

    char _data[N];
};

template<StringLiteral str>
class ClassTemplate { };

template<StringLiteral str>
void FunctionTemplate()
{
    cout << str._data << endl;
}

int main()
{
    ClassTemplate<"Hello World"> cls1;
    FunctionTemplate<"Hello World">();

    return 0;
}

위 코드에서 [N]은 자동으로 글자의 수가 채워지는건가요?

 

어떻게 동작되는지 좀 설명해주시면 감사하겠습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

해당 강의 내용과 관련된 질문이 아니라 직접적인 답변을 드릴 수 있는 자료를 찾지 못했습니다.
C++에서 배열을 매개변수로 받을 때 길이를 알아내는 방법과 관련하여 궁금해 하시는 부분이라면, 다른 C++ 프로그래밍 강의의 자료나 일반적인 C++ 관련 참고 자료를 검색하여 학습하시는 것을 추천드립니다.

grandstayner님의 프로필 이미지
grandstayner

작성한 질문수

질문하기