We have a SOAP-based client-server written in C++/Qt and Axis2C. It contains a lot of old-fashioned C-style structs (usually they describe raw arrays of custom data), because of the C nature of Axis2C. How can C usage be minimized in the code, which uses Axis2C? It's a pain to support these custom C structs, because it requires accuracy of assignment operators, c-tors,d-tors. Qt-based structs are less verbose.
1 Answers
I guess you are especially looking which datatypes to use instead of old fashioned C (not C++) datatypes. These datatypes are the C++ standard containers (http://www.cplusplus.com/reference/stl/) which are shipped with your compiler and are alway available. A Qt implementation of these containers is available, too (http://doc.qt.io/qt-5/containers.html).
Which one to choose depends of a lot of factors. Below I showed a simplified sample how to do this with the stl. So I think you will have to write a kind of wrapper which converts the c datatypes to C++/Qt datatypes. "std::vector" is one type of containers which is often a good replacement for c style arrays.
int32_t main ()
{
    int arraySize = 10;
    int* pCArray = new int [arraySize];
    for ( int idx = 0; idx < arraySize; ++idx )
    {
        pCArray [idx] = idx + 100;
    }
    for ( int idx = 0; idx < arraySize; ++idx )
    {
        std::cout << pCArray [idx] << std::endl;
    }
    std::cout << "-------------------------" << std::endl;
    std::vector<int> array;
    array.assign ( pCArray, pCArray + arraySize );
    delete pCArray;
    for ( int idx = 0; idx < arraySize; ++idx )
    {
        std::cout << array [idx] << std::endl;
    }
    return 0;
}
There is not need to call delete array at the end of this sample since "array" is deleted automatically (BTW delete array would not even compile).
- 1,798
 - 3
 - 22
 - 32
 
- 
                    I mean Qt-based structs serialization for Axis2C – ilya Aug 23 '16 at 11:27
 - 
                    Are you looking for s.th. like this: http://stackoverflow.com/questions/2570679/serialization-with-qt ? – Semjon Mössinger Aug 23 '16 at 13:36
 - 
                    Thanks, for the hyperlink. – ilya Aug 26 '16 at 10:23