[英]C++ Casting an int after declaration to void type?
我正在閱讀基准測試實用程序的源代碼,在其中看到:
int i, j, ret; (void)j; (void)ret;
if (!_does_file_exist(str)) {
sprintf(cmd, "mkdir -p %s > errorlog.txt", str);
ret = system(cmd); // Execute a command on the system
(void)ret;
}
聲明整數並將其強制轉換為void類型有什么好處/效果?
這似乎是荒謬的。
這很荒謬。 (可疑)好處是防止未使用的變量警告。 哪個提出了問題,為什么首先要聲明變量?
這是一種減少未使用的可變警告的老式方法。 我認為,如果它在當前編譯目標的外部,也可能會迫使事物鏈接在一起。 正確的方法是使用編譯器喜歡的任何方式將其標記為未使用(並可能根據自動工具或類似工具進行設置)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.