LINUX.ORG.RU

История изменений

Исправление pavlick, (текущая версия) :

И что? Stl есть в доках по плюсам, что, не может существовать проекта на плюсах, в котором stl пользоваться запрещено? Если что, сам Страуструп требует забыть о new и delete и пользоваться умными указателями и контейнерами и при этом в каждом серьёзном проекте на плюсах запилена собственная версия умных строк. В доках по C есть и malloc и printf, однако в ядре ими пользоваться запрещено. Даже больше, в доках есть float это вообще встроенный тип, и с ним тоже kernel нельзя.

В рамках Ц/ЦПП я всегда получу что-то валидное, которое вписывается в рамки стандарта. Если я буду компилить сишный модуль, где буду дергать malloc и printf, то он просто не скомпилится т.к libc просто не будет. Но если ядро захочет, то оно спокойно будет экспортировать символы malloc и printf. А у вас в расте ведь нет рантайма (я ничего не путаю?, т.е. нет условной libstdc++.so), т.е. ошибку при сборке ты не получишь.

В тех же плюсах базовая синтаксическая конструкция new подразумевает наличие аллокатора и тоже, кстати, не возвращает nullptr.

Вообще-то возвращает. А наличие исключений ты не заметил.

Исправление pavlick, :

И что? Stl есть в доках по плюсам, что, не может существовать проекта на плюсах, в котором stl пользоваться запрещено? Если что, сам Страуструп требует забыть о new и delete и пользоваться умными указателями и контейнерами и при этом в каждом серьёзном проекте на плюсах запилена собственная версия умных строк. В доках по C есть и malloc и printf, однако в ядре ими пользоваться запрещено. Даже больше, в доках есть float это вообще встроенный тип, и с ним тоже kernel нельзя.

В рамках Ц/ЦПП я всегда получу что-то валидное, которое вписывается в рамки стандарта. Если я буду компилить сишный модуль, где буду дергать malloc и printf, то он просто не скомпилится т.к libc просто не будет. Но если ядро захочет, то оно спокойно будет экспортировать символы malloc и printf. А у вас в расте ведь нет рантайма (я ничего не путаю?, т.е. нет условной libstdc++.so), т.е. ошибку при сборке ты не получишь.

В тех же плюсах базовая синтаксическая конструкция new подразумевает наличие аллокатора и тоже, кстати, не возвращает nullptr.

Вообще-то возвращает.

Исправление pavlick, :

И что? Stl есть в доках по плюсам, что, не может существовать проекта на плюсах, в котором stl пользоваться запрещено? Если что, сам Страуструп требует забыть о new и delete и пользоваться умными указателями и контейнерами и при этом в каждом серьёзном проекте на плюсах запилена собственная версия умных строк. В доках по C есть и malloc и printf, однако в ядре ими пользоваться запрещено. Даже больше, в доках есть float это вообще встроенный тип, и с ним тоже kernel нельзя.

В рамках Ц/ЦПП я всегда получу что-то валидное, которое вписывается в рамки стандарта. Если я буду компилить сишный модуль, где буду дергать malloc и printf, то он просто не скомпилится т.к libc просто не будет. Но если ядро захочет, то оно спокойно будет экспортировать символы malloc и printf. А у вас в расте ведь нет рантайма (я ничего не путаю?, т.е. нет условной libstdc++.so), т.е. ошибку при сборке ты не получишь.

Исходная версия pavlick, :

И что? Stl есть в доках по плюсам, что, не может существовать проекта на плюсах, в котором stl пользоваться запрещено? Если что, сам Страуструп требует забыть о new и delete и пользоваться умными указателями и контейнерами и при этом в каждом серьёзном проекте на плюсах запилена собственная версия умных строк.

В доках по C есть и malloc и printf, однако в ядре ими пользоваться запрещено. Даже больше, в доках есть float это вообще встроенный тип, и с ним тоже kernel нельзя.

В рамках Ц/ЦПП я всегда получу что-то валидное, которое вписывается в рамки стандарта. Если я буду компилить сишный модуль, где буду дергать malloc и printf, то он просто не скомпилится т.к libc просто не будет. Но если ядро захочет, то оно спокойно будет экспортировать символы malloc и printf. А у вас в расте ведь нет рантайма (я ничего не путаю?, т.е. нет условной libstdc++.so), т.е. ошибку при сборке ты не получишь.