Должностное лицо муравья, осуществляющее рефакторинг

Правило в C ++ заключается в том, что #include <cmath> помещает объявление abs в пространство имен std и позволяет также помещать объявление abs в глобальное пространство имен. [1112 ]

Другое правило в C ++ состоит в том, что #include <math.h> помещает объявление abs в глобальное пространство имен и позволяет также помещать объявление abs в пространство имен std. [1113 ]

Итак, нет, вы не можете предположить, что #include <cmath> не поместит abs в глобальное пространство имен.

Причина этого правила вместо «очевидного», которое #include <cmath> помещает имена только в std, заключается в том, что последнее правило может быть неприятным для реализации, если разработчики C ++ также не имеют контроля над заголовками C , В этом случае заголовки C ++ должны иметь повторяющиеся объявления для всех функций C, и любое изменение заголовков C должно переноситься в заголовки C ++, что создает логистический кошмар.

7
задан Alex B 12 May 2009 в 19:21
поделиться

3 ответа

может быть, попробовать использовать свойство для общих битов с arg-line? что-то вроде этого:

<property name="xslt.common" value="--xinclude -o dist/html/main.html xsl/html/docbook.xsl xml/main.xml"/>
<exec executable="cmd" osfamily="winnt">
    <arg value="/c"/>
    <arg value="xsltproc\bin\xsltproc.exe"/>
    <arg line="${xslt.common}"/>
</exec>
<exec executable="xsltproc" osfamily="unix">
    <arg line="${xslt.common}"/>
</exec>
10
ответ дан 6 December 2019 в 12:54
поделиться

Я думаю, версия для Unix будет работать под NT, если у вас есть xsltproc.exe, доступный через переменную среды PATH. Вы можете попробовать удалить семейство osfamily и посмотреть.

0
ответ дан 6 December 2019 в 12:54
поделиться

Определите макрос .

Вы можете объединить общие части в элементе и условно выполнить определенные части.

6
ответ дан 6 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: