
Сообщение от
s_kosorev
найди там указатели, работу с байтами или еще что то. Если совсем интересно станет можно в CIL посмотреть еще.
Не обязательно. Даже несмотря на мое полное профанство в шарпе, прекрасно понимаю код:
Код:
unsafe public char[] ToCharArray() {
// <STRIP> huge performance improvement for short strings by doing this </STRIP>
int length = Length;
char[] chars = new char[length];
if (length > 0)
{
fixed (char* src = &this.m_firstChar)
fixed (char* dest = chars) {
wstrcpy(dest, src, length);
}
}
return chars;
}
Поле m_firstChar - первый символ строки. Так что std::string тоже можно считать встроенным в С++. О чем, собственно, и написано в msdn, раз уж ссылки на него:

Сообщение от
https://msdn.microsoft.com/ru-ru/library/hh279663.aspx
Строго говоря, в языке C++ отсутствует встроенный строковый тип; в типах char и wchar_t хранятся отдельные символы — для имитации строки необходимо объявить массив этих типов, добавив конечное значение NULL (например, ASCII ‘\0’) к элементу массива за последним знаком (также называется "строкой в стиле C"). Строки в стиле C требовали написания гораздо большего объема кода или использования внешних библиотек служебных функций. Однако в современном C++ имеются стандартные библиотечные типы std::string (для 8-разрядных символьных строк типа char) или std::wstring (для 16-разрядных символьных строк типа wchar_t). Эти контейнеры STL можно рассматривать как собственные строковые типы, поскольку они являются частью стандартных библиотек, имеющихся в любой совместимой среде сборки C++.
Полиморфизм он или есть или нет, а не от версии ABI зависит, от версии компилятора, он параметров командной строки итд, то что может работать в каких либо тепличных условиях, это так, только для галочки
Еще раз для тех, кто на бронепоезде: от ABI зависит исключительно бинарная совместимость, а не возможность использования полиморфизма как такового.
Тебя же не удивляет невозможность использовать компоненты с измененным интерфейсом (и версией) в старом окружении?
Да, для С++ этот самый ABI не стандартизирован - такова цена за свободу его реализации. Повторюсь, к полиморфизму это никоим боком.