Я пытаюсь создать динамическую библиотеку на С++, которую вызывается существующей программой, написанной в IDL (Interactive Data Language). Я знаю, что мне нужно использовать extern "C", чтобы отключить манипулирование именами, чтобы IDL мог вызывать нужные ему функции (остальная часть механизма вызова довольно проста).
Тем не менее, я всегда не решаюсь использовать функции языка, который я не совсем понимаю, поэтому мой вопрос таков: какие функции С++ я теряю, возвращаясь к C-ссылке, если таковая имеется? Пространства имен были бы очевидными, я думаю, но полностью ли он отключает все другие приятные функции С++? Могу ли я использовать С++ STL и все различные функции языка (особенно С++ 11), на которые я пришел, чтобы полагаться? Или я застрял по существу в C?