В момента изграждаме API за определена библиотека. Част от интерфейса изисква библиотеката да получава и връща към потребителските класове като вектор и низ.
Когато се опитвате да симулирате използването на библиотеката в прост сценарий, в режим на отстраняване на грешки системата се срива при доставяне на низ като вход.
Вярвам, че има различно представяне на класа низ в режим на отстраняване на грешки или освобождаване. След това нашата библиотека приема да получи определено представяне, да прочете член на данните неправилно и да разруши по пътя. Кой е най-добрият метод за прехвърляне на STL обекти в API. Целевата операционна система е Windows XP, компилиран с MSVC 8, въпреки че потребителят на библиотеката ще използва Windows, техният компилатор може (и вероятно ще бъде) различен. Идеи, които имахме досега:
- Променете низа на char* - Но тогава разработчиците може да са объркани от отговорността за освобождаване на паметта.
- Използвайте нашата собствена версия на String – не искам да разработвам друга частна реализация на string.
- Пускане за потребителска версия за отстраняване на грешки и версия за освобождаване.
- Попитайте хората в Stack overflow за някоя опция, която пропускаме или не разбираме, или просто чуйте от техния опит - готово.