В чем синтаксическая разница между Symbian C ++ и каноническим C ++? - PullRequest
3 голосов
/ 13 мая 2010

Говорят, у Symbian C ++ есть собственный диалект,

Может кто-нибудь перечислить точный аспект, который отличается?

Ответы [ 4 ]

6 голосов
/ 14 мая 2010

Прекрасным ресурсом для этого является книга Основы Symbian C ++ , доступная на веб-сайте Symbian Foundation.

Основные отличия диалекта Symbian C ++ от стандартного C ++:

  • Исключения не используются напрямую, то есть вы не должны использовать 'throw' в Symbian C ++. Вместо этого Symbian имеет свою собственную форму исключений, которая называется leaves . Это связано с тем, что при создании Symbian исключения не были широко поддержаны компиляторами.
  • Исключения не должны создаваться конструкторами C ++, поэтому нельзя использовать стандартные методы RAII. Вместо этого Symbian использует двухфазную конструкцию и механизм, называемый стеком очистки. Более подробную информацию можно найти на веб-сайте Symbian Foundation здесь .

Что касается стандартных библиотек, то теперь для Symbian доступен порт STL, поэтому доступны все стандартные контейнеры и алгоритмы. Это, однако, недавняя разработка, поэтому в ОС есть свои собственные служебные классы для строк, массивов, хэшей и т. Д.

Как упоминал Teknolog, важной недавней разработкой является порт Qt для Symbian OS. Начиная с Symbian ^ 4 и далее, весь пользовательский интерфейс будет переписан с использованием Qt, что означает, что Qt будет нативным инструментарием разработки приложений. Это означает, что, хотя Symbian C ++ будет по-прежнему использоваться для разработки промежуточного программного обеспечения и низкоуровневой разработки в ОС, разработчики приложений вместо этого будут использовать Qt, и, следовательно, им не нужно будет знать о диалекте Symbian C ++. Я описал это в своем ответе на вопрос Qt или Symbian C ++

2 голосов
/ 13 мая 2010

Нашел несколько полезных ссылок ...

  1. A PDF с описанием различия с ANSI C ++ для Платформа N60
  2. A учебник с перечислением некоторых различий в типах переменных
  3. A обсуждение на форуме по теме
1 голос
/ 13 мая 2010

Сегодня термин Symbian C ++ также используется для отделения классической разработки под Symbian C ++ / S60 от более современного стека разработки Qt.

1 голос
/ 13 мая 2010

Symbian C ++ не отличается от «нормального» C ++, но имеет множество соглашений, характерных для Symbian.

...