簡體   English   中英

如何進行真假切換?

[英]How to make a switch to true and false?

我想學習如何制作緊湊型開關,告訴我我做得對還是可以簡化?

    auto _time = 5s;
    bool save_time;
    auto fs_time = steady_clock::now();

    for(;;) {
    auto now_time = steady_clock::now();

    if (duration_cast<seconds>(now_time - fs_time) >= _time) {
       save_time = true;
    }
    else {
       save_time = false;
    }

    // CODE ....

     if(save_time) {
     // CODE ....

     }
     if(save_time) {
     // CODE 2 ....

     }
    }

我這樣做是為了不重復寫同樣的東西。

    if (duration_cast<seconds>(now_time - fs_time) >= _time) {}

也許這會在不斷檢查代碼時減慢代碼的速度。

緊湊意味着在一條線上?

save_time = (duration_cast<std::chrono::seconds>(now_time - fs_time) >= _time) ? true  : false;

或者像默認建議的那樣更緊湊:

save_time = (duration_cast<std::chrono::seconds>(now_time - fs_time) >= _time);

關於 using 的使用,看看這個問題: Why is "using namespace std;" 被認為是不好的做法?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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