通常在查看其他人的代碼時,我注意到塊的括號放置存在差異。括號和空格的位置會影響編譯器時間和/或運行時間嗎?
例如,一些使用:
int foo(){
...
}
而其他人使用:
int foo()
{
...
}
而在之間的多種方式。這完全影響代碼的編譯速度嗎?例如,如果我有一系列的塊,如:
int foo() { ... {... {... {... {...} } } } }
int bar()
{
...
{
...
{
...
{
...
{
...
}
}
}
}
}
其中foo()和bar()是指除空白和支架放置相同。這些函數會花費不同的時間來編譯?運行時比另一個更快嗎?
如果將這個擴展到數百或數千個嵌套塊,這會有什麼不同嗎?這是否改變基於使用的編譯器?它會改變爲不同的語言,如C#,PHP,Perl等?
對不起,如果這看起來像很多一般或開放式的問題,只是一些我一直感興趣的東西。
沒有絲毫。 (好吧,編譯器必須讀取整個文件,因此用很多空白填充它需要很長的時間才能讀取,但在運行時確實沒有任何區別,空白字符完全消失了。) – BoBTFish
「請問這個如果這個擴展到數百或數千個嵌套塊,有什麼不同?「是。你會被謀殺,你所有的同事都會神祕地宣稱什麼也沒有看到。 –
@ R.MartinhoFernandes理論上當然。任何真正做到這一點的人都會被吸引和分配。 – echolocation