GCC славится огромным количеством языковых расширений, но вот аналога майкрософтовских свойств
https://docs.microsoft.com/en-us/cpp/cpp/property-cpp?view=vs-2019
что-то сходу не нагуглилось.
Неужели нет?
Здравствуйте, x-code, Вы писали:
XC>GCC славится огромным количеством языковых расширений, но вот аналога майкрософтовских свойств
XC>https://docs.microsoft.com/en-us/cpp/cpp/property-cpp?view=vs-2019
XC>что-то сходу не нагуглилось.
XC>Неужели нет?
Оно не надо.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, x-code, Вы писали:
XC>GCC славится огромным количеством языковых расширений, но вот аналога майкрософтовских свойств
XC>https://docs.microsoft.com/en-us/cpp/cpp/property-cpp?view=vs-2019
XC>что-то сходу не нагуглилось.
XC>Неужели нет?
Штука теоретически вкусная и даже предлагалась в основной C++, но проблема в том, что она в таком виде слишком ограничена.
Например, как сделать в property оператор типа += так, чтобы это было экономнее последовательности get — add — put? Если не давать, то это неэффективно. В C# могли себе позволить такую потерю эффективности, в C++ — нет.
Значит, надо делать такое для всех операторов.
А тогда с некоторого момента оказывается, что property это такой объект, который ещё и имеет доступ к объемлющему классу. Тогда почему бы это не выразить напрямую?
Я не являюсь на 100% согласным с этими рассуждениями, но у меня нет опыта собственно реализации в компиляторе, и тут вынужден полагаться на чужие выводы.
Зачем это MS, я откровенно не знаю. Может, для переноса кода между C++ — C++/CLI — C#.