오류, 버그, 질문 - 페이지 2870

 
Roman :

템플릿은 어떻습니까?
사용 구문이 템플릿용이 아닌 경우 이 경우입니다.

개발자는 이 섹션의 예와 함께 typename 설명을 배치했습니다. 끝까지 읽고 이 단락과 이 예를 찾으십시오.

 
A100 :

(1)과 (2)의 차이점은 무엇입니까? 개발자 여러분 - Roman 이 맞고 이제 typename이 유형을 반환합니까?

매크로에 가깝다고 생각합니다.

 
A100 :

개발자는 이 섹션의 예와 함께 typename 설명을 배치했습니다. 끝까지 읽고 이 단락과 이 예를 찾으십시오.

문서의 해당 섹션이 템플릿에 관한 것임을 이해합니다.
템플릿은 이러한 예와 관련이 없습니다.
typename은 sizeof를 얻는 것과 동일합니다.

 #define   A '+'

void OnStart ()
{
   Print ( sizeof (A));
   Print ( typename (A));
   Print ( sizeof ( "string" ));
   Print ( typename ( "string" ));
}
 2020.10 . 09 02 : 20 : 21.917 TestScript (MNQZ20,M1)   2
2020.10 . 09 02 : 20 : 21.917 TestScript (MNQZ20,M1)   ushort
2020.10 . 09 02 : 20 : 21.917 TestScript (MNQZ20,M1)   12
2020.10 . 09 02 : 20 : 21.917 TestScript (MNQZ20,M1)   string
 
Roman :

문서의 해당 섹션이 템플릿에 관한 것임을 이해합니다.
템플릿은 이러한 예와 관련이 없습니다.
typename은 sizeof를 얻는 것과 동일합니다.

문서에는 다음과 같이 나와 있습니다. 다양한 데이터 유형 으로 작업하는 일반적인 방법을 만들려면 키워드를 사용해야 합니다.   유형 이름   인수의 유형을 문자열로 가져옵니다 .

이 문장에서 단어 패턴은 어디에 있습니까? 내가 볼 수 없어? 예... 템플릿이 있는 예입니다. 그리고 거기에 있는 개발자들이 모든 경우에 대해 또는 무엇에 대한 예를 제공했어야 합니까?

 
A100 :

문서에는 다음과 같이 나와 있습니다. 다양한 데이터 유형 으로 작업하는 일반적인 방법을 만들려면 키워드를 사용해야 합니다.   유형 이름   인수의 유형을 문자열로 가져옵니다 .

이 문장에서 단어 패턴은 어디에 있습니까? 내가 볼 수 없어? 예... 템플릿이 있는 예입니다. 그리고 거기에 있는 개발자들이 모든 경우에 대해 또는 무엇에 대한 예를 제공했어야 합니까?

이 경우 우리는 아무 것도 만들지 않고 유형에서 이름을 얻습니다.
템플릿을 제거하십시오. 그리고 템플릿에 대한 문서.
인쇄 결과가 보이나요? 또 무엇이 필요합니까?
솔직히 나는 당신의 오해를 이해하지 못합니다.

 
Roman :

이 경우 우리는 아무 것도 만들지 않고 유형에서 이름을 얻습니다.
템플릿을 제거하십시오. 그리고 템플릿에 대한 문서.
인쇄 결과가 보이시나요? 또 무엇이 필요합니까?

이 인쇄 결과가 보이나요?

 void OnStart ()
{
     Print (" ushort ");
}

결과: 짧은

그래서 지금: "ushort"가 이와 같은 유형입니까? 그리고 그러한 기록은 당신에게 정상입니까?

 void OnStart ()
{
    "ushort" ch = '+' ;
}
아니요, 유형이 아니라 문자열입니다. 인쇄는 유형을 인쇄하지 않습니다. PrintFormat 에는 그러한 형식이 없습니다. 문자열, 숫자, 문자 - 인쇄하지만 유형 - 아니오
 
A100 :

이 인쇄 결과가 보이나요?

결과: 짧은

그래서 지금: "ushort"가 이와 같은 유형입니까? 그리고 그러한 기록은 당신에게 정상입니까?

))) 놀랐 잖아

인쇄에 문자열 리터럴을 전달하고 수신했습니다.
유형의 이름을 얻으려면 typename("ushort") 키워드를 사용하십시오.
문자열 유형 이름 가져오기

typename(string) 자체를 전달하면 동일한 결과를 얻을 수 있습니다.

일반적으로 이것은 typename 키워드에 대한 작업을 설명하지 않는 문서의 잼입니다.
sizeof의 경우 설명이 있고 typename의 경우 템플릿 전용입니다.
위에서 typename이 유형의 이름을 가져오는 예를 들었지만 sizeof가 크기를 가져오는 것과 동일합니다.  

 
Roman :

))) 놀랐 잖아

인쇄에 문자열 리터럴을 전달하고 수신했습니다.

그래서 당신은 인쇄에 문자열 리터럴을 전달했습니다

 void OnStart ()
{
     Print ( typename ( '+' ));
}

결과: 짧은

모든 설명과 문서를 연구한 후 다르게 생각한다면 다음과 같은 문제가 있습니다.

 void OnStart ()
{
     Print ( short ); //Error - потому что принт типы не печатает
}
 
A100 :

그래서 당신은 인쇄에 문자열 리터럴을 전달했습니다

결과: 짧은

모든 설명과 문서를 읽은 후 다르게 생각한다면 이것이 문제입니다.

그리고 나는 라인이 반환된다고 주장하지 않는 한?
문자열과 Print()에 푹 빠졌습니다.
그리고 출력은 문자열 리터럴이 아니라 문자 정수 유형 ushort 입니다.
일반적으로, 당신이 알고 있는 내 문제도 아닙니다.

 
Roman :

그리고 출력은 문자열 리터럴 이 아니라 문자 정수 유형 ushort 가 됩니다.

출력은 정확히 문자열 리터럴 입니다. 여기 - 직접적인 증거를 찾았습니다 - 인쇄물이 전혀 없습니다.

 int f()
{
     return typename (' +' ); //warning: implicit conversion from ' string ' to 'number'
}
그리고 이제 반대를 증명하려고 노력하십시오 - 또한 인쇄 없이! 주제에 대한 환상이 아니라 예를 통해 증명하는 것이 자연스럽습니다. "문서에 잘못된 것이 있다고 나와 있습니다. 내가 더 잘 압니다."