Редакторы связей C ничего не знают о декорировании имен C++, что может вызвать проблемы, если декорирование не подавляется при ссылках на код C в C++ (и наоборот).
Исправить это легко. Оберните код, который нужно скомпилировать, в стиле C, используя оператор extern "C",
Использование namespace — пример идиоматического C++ и абстракции с нулевыми издержками. Как и остальные идентификаторы типа, namespace стирается компилятором при выдаче кода сборки
Ссылки — это просто указатели с дополнительными мерами предосторожности и небольшим количеством синтаксического сахара.
во время компиляции ссылки обеспечивают некоторую безопасность по сравнению с обычными указателями, потому что вообще-то они не могут быть нулевыми.
Будучи потомком C, язык C++ также очень серьезно относится к абстракции без издержек и прямому сопоставлению с аппаратным обеспечением. Это обязательство выходит за рамки возможностей языка C, которые поддерживает C++. Все, что C++ строит поверх C, включая новые языковые возможности, поддерживает эти принципы. Отходы от них сделаны очень осознанно.
Предупреждение
Нельзя использовать скобки для инициализации POD. Следующий код не скомпилируется:
PodStruct initialized_pod(42, "Hello", true);
Способ объявления классов зависит от стиля. Нет абсолютно никакой разницы между struct и class, кроме контроля доступа по умолчанию. Я предпочитаю использовать ключевое слово struct, потому что мне нравится, когда публичные члены перечислены первыми. Но в реальности встречаются все виды соглашений. Развивайте собственный стиль и придерживайтесь его.
Контроль доступа ограничивает доступ к членам класса. Основные средства контроля доступа — это публичность и приватность членов. Кто угодно может получить доступ к публичному члену, но только сам класс может получить доступ к своим приватным членам. Все члены struct по умолчанию публичны.
В C++ инкапсуляция достигается путем добавления методов и элементов управления доступом к определениям классов.
инкапсуляции, схемы проектирования, которая связывает данные с функциями, которые ими управляют.