Let's say I have a byte sequence of some odd size n, with n = 3 for the sake of this example:
char source[n] = "abc"
And I have a memory range of sufficient size to hold m copies of this sequence:
char * dest = new char[m*n]
Now I want to initialize dest with those m copies of source. Sure, I could use a nested loop:
for ( unsigned i1 = 0; i1 < m; ++i1 )
{
    for ( unsigned i2 = 0; i2 < n; ++i2 )
    {
        dest[ i1 * n + i2 ] = source[ i1 ];
    }
}
But somehow this lacks all the finesse that usually tells me that I got the "right" solution for a problem.
Does C++ offer some more efficient way for this?
Aucun commentaire:
Enregistrer un commentaire