#оптимизации_компилятора — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #оптимизации_компилятора, aggregated by home.social.
-
Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes
В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.
https://habr.com/ru/companies/timeweb/articles/1006490/
#C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции
-
Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes
В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.
https://habr.com/ru/companies/timeweb/articles/1006490/
#C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции
-
Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes
В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.
https://habr.com/ru/companies/timeweb/articles/1006490/
#C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции
-
Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes
В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.
https://habr.com/ru/companies/timeweb/articles/1006490/
#C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции
-
std::launder: зачем и когда нужен
Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.
https://habr.com/ru/companies/otus/articles/914126/
#c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели
-
std::launder: зачем и когда нужен
Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.
https://habr.com/ru/companies/otus/articles/914126/
#c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели
-
std::launder: зачем и когда нужен
Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.
https://habr.com/ru/companies/otus/articles/914126/
#c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели
-
std::launder: зачем и когда нужен
Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.
https://habr.com/ru/companies/otus/articles/914126/
#c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели