我所使用的大多數語言都不支持遞歸註釋。對遞歸註釋的語言支持
- 爲什麼語言設計師會選擇不執行此操作?
- 它看似複雜嗎?
- 會有不良結果嗎?遞歸評論
例子:
/*
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);
*/
編輯:據我所知,答案的爭論至今(當你在字符串註釋標記出現問題)。但是,我的困惑的原因是你現在有這個問題。
例如,我知道下面的代碼不會給出預期的結果。
/*
char *str = "/* string";
// Are we now 1 level inside a comment or 2 levels?
*/
printf("Hello world");
/*
char *str2 = "string */";
*/
但在我心裏,我會在下面的情況沒有什麼不同,以一個意想不到的結果:
/*
CODE "*/";
*/
這也將產生一個意想不到/非期望的結果。
所以,雖然它可能是一個遞歸註釋的問題,但我爲什麼不這樣做的理由不這樣做的理由是它已經是非遞歸註釋的問題。作爲一名程序員,我知道編譯器的行爲就像這樣,我也在解決它。我認爲用遞歸註釋來解決同樣的問題並不多。
爲什麼不去閱讀編譯器的介紹性文字,然後回來? – Marcin
我理解編譯器的基礎知識,但實際上只是基礎(因此是這個問題)。對不起,如果它是一個簡單的/應該是顯而易見的。 –
+1因爲我一直很討厭這個。使用現代編輯器,它不再是一個問題(在Visual Studio中,我可以^ KC和一塊文本將被//評論) – xanatos