제가 사용 해본 대부분의 언어는 재귀 적 주석을 지원하지 않습니다.재귀 주석에 대한 언어 지원
- 언어 설계자가 이것을 구현하지 않는 이유는 무엇입니까?
- 현혹 복잡합니까?
- 원하지 않는 결과가 있습니까? 재귀 주석의
예 :
/*
for (int j = 0; j <= SourceTexture.Height; j += SampleSize)
{
...
}
// Comment within comment below:
/*for (int i = 0; i < TextureColour.Length; i++)
{
...
}*/
sourceTexture.SetData<Color>(TextureColour);
*/
편집 : 나는 지금까지 (당신은 문자열의 주석 토큰이있을 때 문제가 발생)에 대한 답변의 인수를 이해합니다. 그러나, 내 혼란에 대한 이유는 지금 당신이 그 문제가있다.
예를 들어, 아래 코드는 예상 된 결과를 제공하지 않는다는 것을 알고 있습니다. 또한 예기치/원치 않는 결과를 얻을 것이다
/*
CODE "*/";
*/
:
/*
char *str = "/* string";
// Are we now 1 level inside a comment or 2 levels?
*/
printf("Hello world");
/*
char *str2 = "string */";
*/
그러나 아래의 경우 예기치 않은 결과와 다를 바없는 내 마음에
.그래서 재귀 주석에 문제가 될 수 있지만, 왜 그렇게하지 않을 이유가 아닌지에 대한 내 주장은 비 재귀 주석에 대해서는 이미 문제가 있다는 것입니다. 프로그래머로서 나는 컴파일러가 이와 같이 행동하고 그것을 해결한다고 알고있다. 나는 반복적 인 주석으로 같은 문제를 해결하는 것이 훨씬 더 많은 노력이라고 생각하지 않는다.
왜 컴파일러에 대한 소개 텍스트를 읽지 않으신 후 다시 오시겠습니까? – Marcin
나는 컴파일러의 기초를 이해하지만, 실제로는 기본 (이 질문)만을 이해한다. 미안하지만 단순한/명백해야합니다. –
+1 나는 항상 이것을 싫어하기 때문에.현대 편집자라면 더 이상 문제가되지 않습니다. (Visual Studio에서^KC 할 수 있고 텍스트 블록은 // 주석 처리됩니다.) – xanatos