Having discussed the basic concept of lazy evaluation, let's dig into lazy evaluation by designing the code in the lazy approach. In this section, we will develop an eager evaluation code first, then refactor that code into the lazy evaluation one. The code we develop will generate a sequence of prime numbers. First, we will use the for
loop to iterate the integer number to obtain the prime number in the eager evaluation. The following prime.cpp
code is what we are talking about:
/* prime.cpp */ #include <iostream> #include <cmath> using namespace std; bool PrimeCheck(int i) { // All even numbers are not prime number // except 2 if ((i % 2) == 0) { return i == 2; } // Calculating the square root of i // and store in int data type variable // if the argument i is not even number, int sqr = sqrt(i); // For numbers 9 and below, // the prime numbers is simply...