簡體   English   中英

C ++在聲明為void類型后將int轉換為int?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM