K
keith
Hi all,
I'm one of those with about twenty years of experience writing in C,
who is hacking his way through the paradigm shift toward C++, so bear
with me here...
I'm trying to figure out the 'least evil' way of dealing with the
following situation. I have a library of functions written in C (as
it happens, it's an encryption library), which is written in C. A
large number of the functions in that library expect arguments of type
'unsigned char *', i.e. arrays of binary data.
I am writing a C++ application which needs to use this library, but I
am told that 'arrays are evil; bad things will happen to you', so I
looked at the standard containers. If in my application I use vectors
of unsigned char, how do I pass the contained data to the C library
functions? Or should I take the view that if the library wants arrays
of unsigned chars, that's what I should be using and to hell with
being evil?!
I imagine this particular wheel has been invented many many times, so
the wisdom of those who have gone before would be appreciated.
I'm one of those with about twenty years of experience writing in C,
who is hacking his way through the paradigm shift toward C++, so bear
with me here...
I'm trying to figure out the 'least evil' way of dealing with the
following situation. I have a library of functions written in C (as
it happens, it's an encryption library), which is written in C. A
large number of the functions in that library expect arguments of type
'unsigned char *', i.e. arrays of binary data.
I am writing a C++ application which needs to use this library, but I
am told that 'arrays are evil; bad things will happen to you', so I
looked at the standard containers. If in my application I use vectors
of unsigned char, how do I pass the contained data to the C library
functions? Or should I take the view that if the library wants arrays
of unsigned chars, that's what I should be using and to hell with
being evil?!
I imagine this particular wheel has been invented many many times, so
the wisdom of those who have gone before would be appreciated.