Apr. 5th, 2007

yorool_gui: (рожа)
Ах какая, братцы, мука,
И какая блядь хуйня -
Я селедку ем без лука.
Лука нету у меня.

Сергей Калугин

Вчера я это осознал.
В любом современном языке есть следующие вещи: 1) встроенные строки, 2) тип "variant", 3) сборка мусора. В плюсах этого не просто нет, но, что еще хуже, это (1 и 2) есть в библиотеках. В каждой - свое. В результате сейчас у меня в программе есть типы:
  • OdString
  • OdVariant
  • wxString
  • wxVariant
  • wxPGVariant
  • std::string был, но его уже запретили, чтобы не плодить зоопарк.
При этом OdVariant может хранить только OdString, а wxVariant - wxString. wxPGVariant вообще ничего толком не может - в нем даже нельзя узнать тип того, что в него положили, но он все равно нужен, потому что wxPropertyGrid использует именно его. Кроме того все variantы хранят ссылку на строку, а кто будет отвечать за удаление самой строки - надо каждый раз думать. Во всяком случае получается, что сделать функцию, возвращающую variant со строкой внутри, невозможно - никто ее удалять потом не будет.
Да, забыл еще добавить, что надо еще передавать данные типа OdGePoint3d, OdGeVector3d и подобные, которые вообще ни в один вариантный тип не лезут.
Кстати я еще ни слова не сказал о коллекциях, которые есть в Od* и в wx* вариантах, но при этом ни там, ни там нет аналога std::map.
#Q^$$&$%&#Q@@!#%!@%@#
Все, пиздец, пошел писать.

Profile

yorool_gui: (Default)
Michael Ilyin

April 2017

S M T W T F S
      1
2 345678
910 1112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 24th, 2025 08:23 pm
Powered by Dreamwidth Studios