[c/c++]不要給局部變量賦一個初始化值。


大約是很久很久以前吧,編碼風格建議給局部在聲明的時候就賦一個初始化的值。好像這樣...

void foo(){
	char* bar = NULL;
	/*
		some other code
	*/
	bar = getXXX();
	/*
		code to use bar
	*/
};

理由是,如果你忘記在使用這個變量前給他賦值了,那么有一個默認的值可以讓你的程序"安全"一點。

不過現在我覺得好的編碼風格是不要給局部變量賦這個初始化值,因為現在的編譯器已經變得聰明了,如果引用一個未初始化得局部變量,編譯器會報出一個警告。
如果你真的忘記了寫 bar = getXXX();這一行,那么這個錯誤會在編譯的時候就被抓到。

反而,給這樣的局部變量賦初始化值是一種不好的編程習慣了。假設寫了= NULL;然后你真的真的忘記寫bar = getXXX();了,編譯器不會抓住這個bug. 只有等到運行這個程序的時候才能發現這個問題,或者更糟糕的是這個bug變成一個隱藏很深的東西.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM