cpp-ru / ideas

Идеи по улучшению языка C++ для обсуждения
https://cpp-ru.github.io/proposals
Creative Commons Zero v1.0 Universal
89 stars 0 forks source link

Стандартизировать #pragma once #315

Closed apolukhin closed 3 years ago

apolukhin commented 3 years ago

Перенос предложения: голоса +24, -2 Автор идеи: Evgeny Basargin

В данный момент есть стандартный путь реализации защиты от двойного включения заголовка через конструкцию, реализуемую в 3 строчки:

#ifndef MY_MACRO

#define MY_MACRO

// declarations here

#endif

Также есть нестандартный путь, реализуемый в одну строку:

#pragma once

// declarations here

Хотелось бы чтобы механизм #pragma once, или что-то аналогичное ему, стало частью стандарта, т.к. такой путь менее многословный и исключает коллизии по именам макросов.

apolukhin commented 3 years ago

Саша Зайцев, 6 июля 2018, 15:45 Мне кажется, что на это дело забьют в комитете с формулировкой "Ждите модулей, ребята. Скоро выкатим"

Nate Reinar Windwood, 14 июля 2018, 19:39 А смысл? Все равно модулей ждем. А препроцессор надо убивать, а не расширять.

Fihtangolz, 17 июля 2018, 20:52 Nate Reinar Windwood, зачем? Давайте goto тогда еще похороним. Пусть будет

Nate Reinar Windwood, 12 декабря 2018, 23:14 Fihtangolz, а goto и так только для обратной совместимости нужен.

Владислав Петров, 26 июня 2019, 9:21 какие прагмы? препроцессор надо выпиливать!

apolukhin commented 3 years ago

Дубликат #283