Сведения о вопросе

Junior

09:46, 9th August, 2020

Теги

c#   java   c++   visual-studio    

Каков наилучший способ перейти от Java/C# к C++?

Просмотров: 624   Ответов: 10

В моем университете большинство моих занятий были в Java. Я также недавно изучил C# (и среду Visual Studio) на летней стажировке. Теперь я беру введение в класс компьютерной графики, и студент-выпускник, обучающий класс, предпочитает использовать C++ для доступа к привязкам OpenGL через GLUT.

Есть ли у кого-нибудь хорошие ресурсы о том, как сделать хороший переход от Java/C# к C++? Очевидно, указатели будут большой проблемой,но любые другие вещи, которые я должен искать? Любые учебники, руководства и т.д. было бы очень полезно!

Спасибо!



  Сведения об ответе

VERSUION

01:06, 25th August, 2020

Да, меня укусила та же ошибка. Университет, как правило, опирался на Java, а затем позволял вам выбирать язык, с которым вы хотели работать во время проектов.

Лучший способ-просто прыгнуть в воду. Начните с малого, делайте маленькие шаги и просто Google вещи, которые смущают вас, когда вы туда попадаете. Также найдите проекты, которые выпустили свой исходный код. Посмотрите, как они структурируют свои программы. В основном, просто возиться с понятиями. Существует много информации в интернете.

Сделайте это весело и возьмите книгу по разработке игр C++ , чтобы она не стала слишком быстро ошеломляющей.

Вот некоторые места, которые я нашел полезными во время обучения

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/


  Сведения об ответе

piter

14:21, 14th August, 2020

Если вы уже знаете Java/C#, я бы рекомендовал перейти непосредственно к C вместо C++. Согласно веб-сайту, GLUT имеет те же привязки для C, что и C++, поэтому вы должны быть все настроены. В любом случае, лучший способ узнать C-это купить и прочитать копию "The C Programming Language" и сесть с вашим компилятором C и запустить свой материал.


  Сведения об ответе

PAGE

00:56, 2nd August, 2020

У меня была точно такая же проблема. Единственная книга, которую я смог найти, была "Pro Visual C++ 2005 for C# Developers" Дина C. Есть . Это хорошее чтение с отличными примерами, и я думаю, что угол, с которого приходит книга, вероятно, то, что вы ищете.


  Сведения об ответе

SKY

19:45, 23rd August, 2020

Effective C++ by Scott Meyers-это отличная книга, которая поможет вам изучить C++. Дает вам обзор языка и вводит много ключевых понятий, которые вы будете использовать на протяжении всей разработки в основном любой программы C++.


  Сведения об ответе

LIZA

01:04, 3rd August, 2020

Effective C++ by Scott Meyers-это отличная книга, которая поможет вам изучить C++. Дает вам обзор языка и вводит много ключевых понятий, которые вы будете использовать на протяжении всей разработки в основном любой программы C++.

Я люблю эту книгу во всех 3 изданиях, и это была одна из книг в классе, который я имел в качестве старшего в UT, но это просто не начальная книга. Вы можете чувствовать себя комфортно в C++ с гораздо меньшим количеством, хотя вы, конечно, не будете одним с компилятором, пока не прочтете работу Мейера.

Я не знаю, есть ли он еще в печати, но я нашел навигацию по C++ полезной, но мне также было очень удобно с указателями из Pascal. Конечно, я забываю, что 15 лет назад вы должны были узнать, что такое OOP, теперь это немного более предположительно. Так что, возможно, Мейер не выходит за рамки. Мысли?


  Сведения об ответе

SKY

01:48, 20th August, 2020

В Википедии есть статья о сравнениях между Java и C++ .

Вам не нужно беспокоиться о проверенных исключениях в C++, но вам нужно знать о корректности const .


  Сведения об ответе

nYU

18:00, 2nd August, 2020

Есть два основных отличия: синтаксис и управление памятью.

В C++ у вас есть указатели, которые являются более мощными (или менее мощными в зависимости от вашей интерпретации мощности) ссылками на объекты, о которых вы уже знаете из Java.

В Java вы можете сделать это:

Thing mything = new Thing(); // mything is an object reference
mything.method();

В C++ вы бы сделали это:

Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;

Синтаксическая разница очевидна: '- > ' вместо '.'при вызове метода объекта из указателя на объект. В C++, вы должны освободить память явно, когда вы закончите с объектом. В конце дня вы делаете то же самое в C++ и Java, создаете экземпляры объектов и вызываете методы, ставите бесполезные точки с запятой в конце каждой строки и т. д. Стоит ли удивляться, что Python становится таким популярным?:

mything = Thing() # mything is whatever I want it to be
mything.method()

Беглый просмотр любой половины приличного текста C++ поможет вам заполнить rest деталей.


  Сведения об ответе

DO__IT

08:43, 22nd August, 2020

Я также полностью рекомендую мышление Брюса Экеля в C++ . Фантастическая книга для уже опытных программистов, которые хотят войти в мышление C++.

Он достаточно любезен, чтобы сделать электронные версии своих книг доступными бесплатно .


  Сведения об ответе

dumai

13:11, 14th August, 2020

Я настоятельно рекомендую всем, кто изучает C++ читает Stroustrups "The C++ Programming Language." у Мейерса и Экеля есть отличный материал, но ничто не сравнится с обучением у парня, который решил, каким должен быть язык и как он намеревался его использовать.


  Сведения об ответе

VERSUION

19:18, 2nd August, 2020

Вам понадобится совершенно другое чувство для обработки памяти. Также подумайте о том, чтобы освободить все, что вам больше не нужно. В Java и C# вы просто отпускаете свои объекты, и память убирается за вас - вы не можете сделать это в CPP


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться