Здравствуйте, о_О, Вы писали:
о_О>Здравствуйте, jazzer, Вы писали:
J>>стандартная библиотека — это считай что native: компилятор может какие угодно хаки применять в реализации стандартной библиотеки. о_О>будем реалистами, он не станет этого делать
это делается сплошь и рядом посредством intrinsic-ов.
почти вся std::type_traits — это просто обертка вокруг соответствующих intrinsic-ов, ее иначе полноценно не реализовать просто.
J>>В любом случае, даже если бы оно было встроено непосредственно в язык, что бы изменилось интерфейсно?
о_О>Например, вот придумал только сейчас:
смешались в кучу кони, люди, функции, слоты, сигналы, подписки, отписки...
Подписка/отписка/нотификация/трекинг — это существенно более сложные механизмы, чем просто универсальный указатель на функцию.
в бусте есть сигналы и сигналы2 — думаешь, почему? сигналы2 корректно поддерживают многопоточность, с соответствующими блокировками и прочими радостями. Я бы лично предпочел, чтоб это были разные механизмы, с разность степенью "тяжелости" реализации, потому что мне, например, далеко не всегда нужна многопоточность с соответствующими ей необходимыми приседаниями. (То же касается строк, кстати — нафига мне куча блокировок внутри, если я не собираюсь кидать строки между потоками?)