Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Re: I don't use printf enough

by jryan (Vicar)
on Oct 22, 2003 at 22:08 UTC ( [id://301396]=note: print w/replies, xml ) Need Help??


in reply to Re: I don't use printf enough
in thread I don't use printf enough

I assume you mean:

cout << "text text " << obj.method1() << " more text " << endl;

And would you explain why you find this ironic?

Replies are listed 'Best First'.
Re: Re: Re: I don't use printf enough
by elusion (Curate) on Oct 23, 2003 at 03:00 UTC
    Presumably, he/she finds it ironic beacuse
    cout << "text text " << obj.method1() << " more text " << end1;
    is like using string concatenation in Perl. The root node says to use printf sometimes. printf is a C function, yet it would not be the preferred way of doing things in C.

    So to prefer printf in Perl when something like the above (preferred) C snippet exists, is ironic.

      printf is a C function, yet it would not be the preferred way of doing things in C.

      That's half right - printf is a C function, but it is not preferred in C++. It is preferred in C, of course.

      The reason why printf is not the best way in C++ is that the compiler cannot check the variable types. If you use "%s" to print a string, and then use an integer variable instead, the program crashes at run time. With perl it would just convert the integer into a string and not crash, and with C++ style I/O, it would print the integer as a string. Also, printf cannot be extended to print objects, it is only able to print a few built in types.

Re: Re: Re: I don't use printf enough
by pg (Canon) on Oct 23, 2003 at 03:06 UTC

    His c++ syntax is just fine, his obj can be understood as a pointer to an object:

    #include <iostream.h> class aclass { public: int first_perfect_number(void); }; int aclass::first_perfect_number(void) { return 6; } int main() { aclass * ap = new aclass(); cout << "first perfect number is: " << ap->first_perfect_number() +<< endl; }

      Right, but why on earth would you assume a pointer to an object in this case? The original bit wasn't talking about a reference to a perl object, so I assumed it was a typo. Just because the syntax passes the compiler doesn't mean it is what he meant. :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://301396]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-04-25 18:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found