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

голоса
10

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

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

Благодаря!

Задан 21/08/2008 в 05:46
источник пользователем
На других языках...                            


10 ответов

голоса
8

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

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

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

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

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

Ответил 21/08/2008 в 06:25
источник пользователем

голоса
4

Если вы уже знаете, Java / C # Я рекомендую идти прямо на C вместо C ++. По данным сайта, GLUT имеет такие же привязки для C, как C ++, так что вы должны быть все в порядке. В любом случае, лучший способ узнать C является покупка и прочитать копию «Язык программирования C» и присесть с компилятором и получить материал для работы.

Ответил 21/08/2008 в 05:51
источник пользователем

голоса
2

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

Ответил 21/08/2008 в 21:52
источник пользователем

голоса
2

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

Ответил 21/08/2008 в 19:36
источник пользователем

голоса
2

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

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

Ответил 21/08/2008 в 10:26
источник пользователем

голоса
2

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

В 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 ++ текста поможет вам заполнить остальные детали.

Ответил 21/08/2008 в 08:19
источник пользователем

голоса
2

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

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

Ответил 21/08/2008 в 07:11
источник пользователем

голоса
2

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

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

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

Ответил 21/08/2008 в 06:47
источник пользователем

голоса
2

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

Ответил 21/08/2008 в 06:00
источник пользователем

голоса
1

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

Ответил 21/03/2012 в 02:41
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more