|
srichter wrote:
>Chris,
>
>Here is a c++ string class:
>
>Class String {
>
>// two data mbrs. lgth of the string and
>// a ptr to string data.
> int mnLgth ;
> char* mpData ;
>
>// an assignment member function.
>// user of the class codes as: string1 = string2
>// ( some confusing symbols left out )
>String operator=( const String string2 ) ;
>} ;
>
>// here is the assignment mbr function code.
>String String::operator=( const string2 )
>{
>if ( mpData != NULL )
> {
> free( mpData ) ; // free old string
> }
>
>// allocate string memory.
> mnLgth = string2.GetLgth( ) ;
> mpData = malloc( mnLgth + 1 ) ;
>
>// store the string value.
> strcpy( mpData, string2.GetBuffer( ) ) ;
>
Isn't your contention that the method strcpy is not as efficient as the
MI call? So why doesn't that method implement the MI call?
>return *this ;
>}
>
>The string class is then used in a pgm:
> String sEvilDoer ;
> sEvilDoer = "Ibm leadership" ;
>
>This code takes a lot of cpu to run, is bloat free, abstracts away a bunch of
>details the pgmr does not need to have deal with, does not give much chance to
>optimize and would make our as400 grind to a halt if run as frequently as
>efficient RPG pgms are run.
>
Why does this code take a lot of cpu to run?
>Steve Richter
>
--
Chris Rehm
javadisciple@earthlink.net
Beloved, let us love one another: for love is of God; and every one
that loveth is born of God, and knoweth God. 1 John 4:7
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.