Существуют ли исходные глобальные объявления вперед? (внешний статический)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Существуют ли исходные глобальные объявления вперед? (внешний статический)

Сообщение Anonymous »

Во -первых, есть и другие вопросы по этому поводу. Но они, кажется, спрашивают, как работает локальная или внешняя связь. С этим вопросом я преследую другую линию мышления: < /p>
Предположим, у вас есть файл, например, Некоторый модульный тестовый файл, где у вас есть векторы указателей для тестирования функций. И вы можете запустить эти тестовые «люксы» соответственно. Теперь вы не хотите иметь все эти вещи прямо в верхней части вашего исходного файла, но дальше вниз. Например. В main () , который вы предпочитаете сверху, вы можете ссылаться на тестовые наборы, сродни run_tests (test_suite_xy) , в то время как вы хотите сохранить содержание этих тестовых комплексов в этом исходном файле. Но ... и это вопрос ... Есть ли какой -нибудь другой способ пересылать объявление локальные переменные в одном и том же исходном файле, без , делая их действительно глобальными?
#include
using TFun = bool (*) (void);
using TSuite = std::vector;

// Forward declare test suites.
FORWARD static TSuite test_suite_xy;
// ... More stuff like the above.

void run_tests(const TSuite&);

int main () {
run_tests(test_suite_xy);
// more suites to run...
return 0;
}

static bool suite_xy_fun_1();
// more static test functions...
static TSuite test_suite_xy = {
suite_xy_fun_1, // ...
};


Подробнее здесь: https://stackoverflow.com/questions/796 ... ern-static
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»