Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
template<long N> struct Nop {
static int nop() {
static const size_t arraySize = 10240;
static const long a[arraySize] = {N};
auto t = ::time(nullptr);
auto i = static_cast<size_t>(static_cast<double>(t) / static_cast<double>(MAX_LONG) * arraySize);
return Nop<N - 1>::nop() + static_cast<int>(a[i]);
}
};
template<> struct Nop<0> { static int nop() { return 0; } };
int main() {
return Nop<10000>::nop();
}
получить из минимума строк кода исполняемый файл максимально возможного размера
volatile char A[1000000000] = { 3 };
int main() { }
#include <vector>
#include <list>
using std::vector;
using std::list;
template<typename T>
int doStuff(T a) {
return doStuff( vector<T>() ) + doStuff( list<T>() );
}
int main() {
doStuff<int>(5);
return 0;
}
Но давайте вывернем проблему наизнанку и попробуем получить из минимума строк кода исполняемый файл максимально возможного размера.
Несколько подробностей о шаблонах или форк-бомба этапа компиляции