Нет.Alexandr wrote: А вы все свои классы через pimpl реализовываете?
Основной критерий - здравый смысл, когда нужно спрятать "мясо", поменять реализацию в рантайме или разделить разные имплементации некоей функциональности и при этом лишнее выделение памяти из "кучи" или возможная незначительная потеря быстродействия не критична, то использую пимпл. Но без фанатизма, например, если две имплементации отличаются 5ю строчками, то вместо тупого копи/паста и пимпл, конечно, использую дефайны, но если таких дефайнов становится много - пимпл.Alexandr wrote: если нет, то какие критерии, когда pimpl нужен, а когда нет?
Не доводилось полазить в ядре, но насколько знаю оно сишное, плюс там критично не делать лишних выделений и обеспечить предельную производительность, поэтому pimpl там не катит.Alexandr wrote: как-то таг, странно, почему в ядре линукса не применяют pimpl для разных платформ, ведь там тоже можно с h файлами запутаться