Когда шаблоны считают до тысячи
Для каждого элемента Сгенерировать последовательность 1, 2, 3... Взять первые i элемента Сложить все ∑ i=4,44 ∑ i=1 1+2+3+4=10 + 1+2+...+44=990 = 1000
На скриншоте с кодом на C++ красные стрелки показывают, как безобидная на вид функция с шаблонами выполняет всё более тяжёлые операции: генерирует последовательности, берёт элементы и суммирует их. Шутка в том, что компилятор вынужден инстанцировать огромное количество шаблонов, поэтому даже простая программа компилируется мучительно долго; это реакция на чрезмерно сложный современный C++ и адовое время компиляции. EN: A C++ code screenshot uses red arrows to show how an apparently harmless template function performs increasingly expensive operations: generating sequences, taking elements, and summing them. The joke is that the compiler must instantiate an enormous number of templates, so even a simple program takes painfully long to compile; it is a reaction to overly complicated modern C++ and hellish compile times.
- @ithueti / 1284 2019-08-30
- Type
- image
- Size
- 800×558 · 83.7 KiB
- Mood
- абсурдный, саркастичный
- Language
- ru
- Added