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

Библиотека C++ property

Фото Anastasia Kazakova
Hosted By
Anastasia K.
Библиотека C++ property

Сведения

Библиотека 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 пришла ему в голову во время копания в коде сервера управляющего сигнальной частью телефонии - гетеры и сеттеры сотен классов с десятками полей каждый делали код абсолютно нечитабельным.

Photo of St. Petersburg C++ User Group group
St. Petersburg C++ User Group
Показать еще мероприятия