|
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
|
|
Перехожу с C++ на C#, их отличия25.07.2017, 17:17. Показов 1841. Ответов 6
Метки нет (Все метки)
Перешёл с плюсов на шарп, имею представление(возможно поверхностное) о C++ - классах, функциях, шаблонах, перегрузки, типах, памяти, указателях и таком прочем. Имеются неординарные вопросы, которые даже незнаю как сформулировать или правильно задать, извините за глупость или банальность:
1). Имеется ли у C# STL как у плюсов?(Про System я знаю) А есть ли аналоги Vector,map,list,stack,deque и прочих контейнеров(не знаю как это всё называется в шарпе, даже погуглить немогу, вроде System.collections.generic, но инфы о доп классах и типах нету) 2) Какая библиотека отвечает за api виндоса?(работа с системой и тп) 3) Я так понимаю в C# using заменяет и include и using с++? 4) Есть ли указатели? Вижу что слабо поддерживаются, мало инфы 5) Что такое garbage collector(если вкратце) Спасибо если ответите хоть на 1 из них, мог бы погуглить(что собственно и делаю) но здесь мне важно услышать мнение на мою конкретику от тех, кто с этим уже работал, и кто может быть мне полезен)
0
|
|
| 25.07.2017, 17:17 | |
|
Ответы с готовыми решениями:
6
Перехожу на C Перехожу на Битрикс Перехожу на Ubuntu! |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 25.07.2017, 17:23 | |||||||
|
В шарповском проекте все файлы с кодом "видны" всегда, include подключает пространтсво имен — чтобы можно было опускать его при обращении к типам. То есть работает больше как плюсовский юзинг. Второе использование — создание алиасов для типов. Третье — синтаксический сахар для блока try/finally для типов, реализующих IDisposable. Реализуется через автоматическое удаление объектов, на которые нет ссылок. То есть можете забыть про оператор delete и плюсов — сборщик это делает за вас.
0
|
|||||||
|
[Bicycle Reinventor]
|
|
| 25.07.2017, 17:30 | |
|
1. В шарпе есть куча стандартных библиотек классов, никто никогда не говорит о них, как о чём-то отдельном.
Аналог vector - List<>, аналог map - Dictionary<>, list - он и есть лист, stack и queue также присутствуют. Верно, что они находятся в System.Collections.Generic, библиотека подключается по умолчанию в проектах. 2. Нет такой библиотеки. Для работы с системными дллками винды используется PInvoke и справочные сайты. 3. Не совсем. Include в плюсах буквально копирует на своё место заголовки из файла заголовков на манер include|require в пхп перед компиляцией. Директива using в шарпе создаёт более короткие псевдонимы для типов из библиотеки, чтобы не пришлось каждый раз писать их полный путь (например, System.Collections.Generic.List). Ссылаемые библиотеки должны быть уже подключены к проекту. Также помимо директивы using, есть ещё ключевое слово using, которое является синтаксическим сахаром над записью вида try catch finally. 4. Указатели есть. Рекомендуется не использовать. 5. Сборщик мусора - механизм, встроенный в среду исполнения, который следит за созданными через new объектами. Когда на объект никто больше не ссылается, сборщик мусора (однажды) уничтожит объект и тем самым освобождит память. Нет необходимости вручную следить за всей выделенной памятью через деструкторы, как в плюсах. Все созданные объекты рано или поздно будут освобождены автоматически.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 25.07.2017, 18:00 | ||
|
0
|
||
|
|
|||
| 27.07.2017, 20:04 | |||
|
просто так, как в плюсах подключить нужный хидер и либу, нарисовать прототип typedef и прочее, в шарпе не получиться. да и кроме DllImport и маршалинга у шарпа ничего нет. вообще, нужно исходить из того какие цели вы преследуете, переходя на шарп. здесь очень удобный WinForm, есть LINQ (нужно освоить синтаксис), с Web комфортно работать. но придется пожертвовать тем самым WinAPI и всеми вытекающими из него.
0
|
|||
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
||
| 27.07.2017, 22:58 | ||
|
0
|
||
| 27.07.2017, 22:58 | |
|
Помогаю со студенческими работами здесь
7
Перехожу на дивы Перехожу с php на С++ перехожу с mysql на mysqli и столкнулся с проблемой Как получить адрес страницы, на которую я перехожу Перехожу с MsSql на MySQL (объясните пожалуйста ньюансы) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|