перейти к содержанию

Детали

Библиотека C++ property, Антон Фролов

Краткое описание доклада:

Многие современные языки программирования располагают такой фичей как property - это член класса предоставляющий доступ к его приватным полям. Синтаксически обращение к property выглядит как обращение к публичному полю, на деле же происходит вызов get/set метода. Такой подход позволяет сделать клиентский код более декларативным а реализацию классов гибкой:

user.name = "Anton"; // -> user.setName("Anton");
call.CSeq++; // -> call.setCSeq(call.getCSeq() + 1);

Всё это время property избегали C++ (или C++ избегал property), т.к. фича очень спорная а сам C++ довольно традиционен. Пару раз столкнувшись с неудачными попытками добавления property в C++ я решил написать библиотеку cpp_property.

Мы посмотрим возможно ли в современном C++ реализовать в виде библиотеки фичу, которая в других языках существует на уровне семантики, с какими трудностями сталкивается разработчик пишущий wrapper класс и как преображается код без уже привычных каскадов из вызовов get/set.

Коротко о докладчике:

Антон разрабатывает сервисы для обработки сигнального и медиа траффика телефонии в компании Dino Systems. Идея написания библиотеки cpp_properties пришла ему в голову во время копания в коде сервера управляющего сигнальной частью телефонии - гетеры и сеттеры сотен классов с десятками полей каждый делали код абсолютно нечитабельным.

Связанные темы

Спонсоры

JetBrains

JetBrains

Meetup sponsor (location, licenses prizes)

SEMrush

SEMrush

Meetup sponsor (location)

PeterService

PeterService

Meetup sponsor (location)

Oracle

Oracle

Meetup sponsor (location)

Вам также может понравиться