Löst: kör en slinga under en viss tid

Senaste uppdateringen: 09/11/2023
Författare: C SourceTrail

Visst, låt oss fördjupa oss i ämnet att skapa en loop som körs under en viss tid i C++.

Loops kan vara en mjukvaruutvecklares bästa vän. De tillåter oss att utföra ett visst stycke kod flera gånger utan att behöva skriva samma rader upprepade gånger. Men vad händer om vi vill köra en loop under en icke-fast tid? För det har vi den vanliga biblioteksfunktionen klocka() i C++. Denna klockfunktion är tillgänglig i C++ Standard Library.

Att köra en loop under en viss tid

För att använda funktionen clock() måste vi inkludera ctime-biblioteket i vår kod. Funktionen clock() används för att returnera processortiden som förbrukats av programmet. Här är en enkel lösning på hur man kör en loop för en viss period:

#include
#include

int main ()
{
clock_t startTime = klocka(); //Starta klockan
for(int i=0; i<100000; i++) { if((klocka()-starttid)>(5*KLOCKA_PER_SEK))
ha sönder; //Om mer än ett visst antal sekunder bryt loop
}
0 tillbaka;
}

Steg-för-steg-förklaring av koden

1. ctime Bibliotek: Först inkluderar vi ctime-biblioteket. Det här biblioteket innehåller funktioner för att hämta och manipulera information om datum och tid.

#include

2. Clock()-funktion: clock()-funktionen är en inbyggd funktion i C++ som registrerar antalet klockslag sedan programmet startades.

clock_t startTime = klocka();

3. För Loop: Vi initierar starten av loopen här. Slingan kommer att fortsätta att köra till dess att dess villkor är uppfyllt, vilket i vårt fall är en viss tidsram.

for(int i=0; i<100000; i++) [/code] 4. Clock() Funktion i tillstånd: Vi använder funktionen clock() igen för att beräkna den passerade tiden sedan starten av vår loop. [code lang="C++"] if((klocka()-starttid)>(5*CLOCKS_PER_SEC))
break;

Denna kod kommer att köra en loop i 5 sekunder.

Relaterade C++-bibliotek och funktioner

  • ctime-biblioteket är en del av C + + Standardbibliotek och ger oss funktioner relaterade till tid.
  • En annan liknande funktion i ctime-biblioteket är difftime(). Denna funktion beräknar skillnaden mellan två tidpunkter.
  • Om vi ​​behöver mer precision när det gäller att mäta tid, kan vi använda chrono bibliotek, som har högupplösta klockor.

Kom ihåg att effektiv användning av loopar och tidsfunktioner möjliggör bättre programhantering och kan hjälpa dig att designa programvara som utför uppgifter inom specificerade tidsramar, vilket förbättrar mångsidigheten i dina arbetsflöden.

Relaterade inlägg: