I agree with you but you are right when you say: "Don't write code unless
you
actually need it."

I need it for a college work.

Tx.

On 6/15/07, Thomas Hruska <[EMAIL PROTECTED]> wrote:
>
>   Bruno Mayerle Leite wrote:
> > Im trying to implement some features of functional programming in C++. I
> > think lazy lists can be useful since we can create infinite lists in
> some
> > functional languages too. Imagine a very big list being traversed by an
> > iterator and for some reason when the iterator reaches a certain Node
> the
> > loop is over. In this case it isnt necessary to have the entire big list
> in
> > memory. It is only one point that came to my mind.
>
> Sounds an awful lot like what I tried to do when I first learned C...I
> wanted to bring my BASIC baggage with me to use familiar functions like
> Left(), Mid(), and Right(). I finally got that _functionality_ when I
> moved to Safe C++ but the _implementation_ is different.
>
> I'm sure what you want to do is possible, but it may result in
> unreadable/unmaintainable code. Just because something is possible
> doesn't mean you should do it. In fact, you _shouldn't_ do it unless
> you have a VERY specific reason to do so. Don't write code unless you
> actually need it.
>
> The example provided by the document you showed can be done via a very
> simple class that increments an internal number:
>
> class IncNumber
> {
> public:
> IncNumber(int Num)
> {
> MxInternal = Num;
> }
>
> inline int GetNext()
> {
> int x = MxInternal;
> MxInternal++;
>
> return x;
> }
> // Or you could get fancy and do the whole ostream << operator thing.
>
> private:
> int MxInternal;
> };
>
> IncNumber MyNum(1);
> for (x = 0; x < 10; x++) cout << MyNum.GetNext() << endl;
>
> Now I realize that it was just an example, but what I'm trying to say is
> that there is no need to write
> unmaintainable/unreadable/non-understandable code if you can avoid it.
> There's almost always a better way to implement something.
>
> --
> Thomas Hruska
> CubicleSoft President
> Ph: 517-803-4197
>
> *NEW* VerifyMyPC 2.5
> Change tracking and management tool.
> Reduce tech. support times from 2 hours to 5 minutes.
>
> http://www.CubicleSoft.com/VerifyMyPC/
>
>  
>


[Non-text portions of this message have been removed]

Reply via email to