• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.12.28 23:09 작성 23.12.28 23:50 수정 조회수 112

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 인턴님의 프로필

인프런 AI 인턴

2023.12.28

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

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