Objective C ++ язык: где я могу найти больше информации об этом?

Я изучал C++ в течение нескольких месяцев теперь и нахожу это превосходным языком хотя его льготы.

Я задавался вопросом, что точно является так называемым Objective C ++ и если стоит изучить это как основной язык разработки для предназначения для сред Apple (т.е. Mac OS X, iPhone OS). При поиске вокруг сети я только нашел несколько хороших статей: главным образом запись Википедии и один от Mac Центр Dev.

Википедия говорит:

Objective C ++ является фронтендом к Набору Компилятора GNU, который может скомпилировать исходные файлы, которые используют комбинацию синтаксиса Objective C и C++. Objective C ++ добавляет к C++, который Objective C расширений добавляет к C.

Статья Mac Dev Center добавляет:

Компилятор Objective C Apple позволяет Вам свободно смешивать C++ и код Objective C в том же исходном файле. Этот Objective-C/C ++ гибрид языка называют Objective C ++. С ним можно использовать существующие библиотеки C++ из приложений Objective C.

Статья Apple называет Objective C ++ язык. Действительно ли это правильно?

Я хотел бы знать следующее:

  • Действительно ли возможно изучить и использовать Objective C ++, не зная C/Objective-C?
  • Есть ли какие-либо хорошие книги, сайты, форумы, и т.д. где можно получить больше информации и/или справки?
  • Там какие-либо большие проекты сделаны в Objective C ++ насколько Вы знаете о?

5
задан Kensai 22 January 2010 в 12:39
поделиться

4 ответа

Да, вы должны выучить Objective-C++, когда вы хотите развить конкурентные комиссионные силы (т.е. настолько хорошие, что люди готовы за них платить) Apple-приложений.

Это действительно ничто иное, как Objective-C и C++, объединенные в одном файле.

Для Цели-С используйте любую из ссылок в популярных блогах/списках рассылки/группах новостей Apple, посвященных разработке приложений. Особенно тот, который предоставляется непосредственно компанией Apple.

Для C++ это то же самое, есть десятки блогов/списков рассылки/инструкций по началу работы. Но в то время как C и его дополнение Objective-C довольно просты и легки в изучении, если вы уже понимаете программирование. Си++ - это совершенно другой и сложный зверь. Получите несколько хороших книг и выучите его (через 10 лет вы сможете полностью понять язык :-), но вы сможете писать программы на Си++, используя лишь малую часть этих знаний.

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

Но особенно для контейнеров стоит подумать об использовании шаблонов на Си++. Вектор намного быстрее, чем NSArray. Если ваш набор данных большой, вы почувствуете разницу. Также я нахожу контейнеры C++ более простыми в использовании, так как они избегают типовых передач, которые вы имеете дело с Objective-C.

С медленным ARM процессором на iPad и iPhone это не является преждевременной оптимизацией.

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

Получение правильного баланса между C++ и Objective-C - это часть навыков, которые необходимо развить как яблочному программисту.

6
ответ дан 18 December 2019 в 11:56
поделиться

objective-C ++ действительно просто смешивает объективность-C с C ++. Поскольку он позволяет синтаксис от обоих вы можете утверждать, что это новый язык.

Я в первую очередь использую OBJC ++ (исходные файлы .mm), когда я должен использовать код объекта-C с помощью библиотеки C ++. Это удобно иметь возможность звонить C ++ в этом случае. Лично я не знаю много людей, которые на самом деле действительно смешают C ++ и overeive-c.

8
ответ дан 18 December 2019 в 11:56
поделиться

1) Я сомневаюсь в этом, потому что каждый из них - суперс языка C. Я не рассматриваю цель - C ++ совершенно новый язык. Это просто смесь обоих, которые дают вам дополнительные возможности - то есть повторно используйте существующий код C ++ или использовать более высокий C ++ в более разных секциях критического кода, или используйте код C ++, где не подвергается объектному интерфейсу Objective-C / Cocoa Вещи, как последовательные порты / IOCTLS, OpenGL, ...)

2) Я думаю, что ресурсы относительно этой темы A

3) проходят ... Я имею в виду, что вы считаете большим. Я просто знаю из группы проектов (может быть, не все их коммерческие в том смысле, что вы можете купить программное обеспечение в магазине), которые используют эту смесь по причинам, перечисленным в 1.

1
ответ дан 18 December 2019 в 11:56
поделиться

Во многих больших проектах используется какая-либо Объектива-С++. Например, Camino, Chromium и Firefox - все это существенные проекты с открытым исходным кодом, включающие в себя Objective-C++.

0
ответ дан 18 December 2019 в 11:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: