LINUX.ORG.RU

C++ ___pkt_kt_xx_size_gnu_dupa


0

0

Глядя в хидеры шаблонных класс в STL создается впечатление будто по коду прошлись обфускатором ___стараясь_сд_ел_ать__его как_м_о_жноме_нее_(__чи_таемым).

Единственное разумное объяснение которое мне приходит в голову такое:

Предположим я наследую по STL'овскому классу и добавляю свой метод dupa(). Теперь если среди большой кучи приватных методов уже будет метод dupa() то я попадаю в проблему.

Но все таки почему в той же жабе подобная конфенция не была принята? почему ее код нормально выглядит?

Есть ли какие-нибудь иные причины по которым хидеры шаблонных классов "обфускированны"?

> Предположим я наследую по STL'овскому классу и добавляю свой метод
> dupa(). Теперь если среди большой кучи приватных методов уже будет
> метод dupa() то я попадаю в проблему.
Хотя нет никакой проблемы. Все достаточно умно, чтобы в методах класса предка вызвать методы предка и пользоваться приватными переменными предка.. Тогда непонятно чем объяснить обфускацию кода STL...

dissident ★★
() автор топика

Most c++ compilers do not support separate template compilation.

This means that the implementation of STL will be #included into the code.

This means that a symbol clash is possible.

The known convention (_M_ for members, _S_ for statics etc) was built to reduce the possiblity of the symbol clash.

omerm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.