LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

Как-то так:

.hpp

struct C {
    void member();
};

.cpp, было

void C::member() {
    // портянка
}

.cpp, стало

static void member_helper_1() {
    // половина портянки
}

static void member_helper_2() {
    // половина портянки
}

void C::member() {
    member_helper_1();
    member_helper_2();
}

Не говоря уже про С++11 и далее, где есть лямбды.

Исходная версия Siborgium, :

Как-то так:

// .hpp

struct C {
    void member();
};


// .cpp, было

void C::member() {
    // портянка
}

// .cpp, стало

static void member_helper_1() {
    // половина портянки
}

static void member_helper_2() {
    // половина портянки
}

void C::member() {
    member_helper_1();
    member_helper_2();
}

Не говоря уже про С++11 и далее, где есть лямбды.