Исключение аргументов в Шаблонах C++

Инструменты, которые используют разметки таблицы, могут стать чрезвычайно тяжелыми должный на сумму кода, требуемого создать расположение. Портал SAP Netweaver ТАБЛИЦЕЙ использования по умолчанию к расположению их страницы.

производственный портал SAP на моем текущем концерте имеет домашнюю страницу, HTML которой весит по 60K и идет семь таблиц глубоко, три раза в странице. Добавьте в JavaScript, неправильном употреблении 16 iframes с подобными проблемами таблицы в них, чрезмерно тяжелый CSS и т.д., и страница взвешивает более чем 5 МБ.

Занимание время для понижения веса страницы, таким образом, можно использовать пропускную способность, чтобы сделать, привлекательные операции с пользователями стоят усилия.

6
задан Chris 17 July 2009 в 22:55
поделиться

2 ответа

Каждый раз, когда компилятор может вывести аргументы шаблона из аргументов функции, можно их не указывать. Это также хорошая практика, так как это упростит чтение вашего кода.

Кроме того, вы можете оставить аргументы шаблона только в конце, а не в начале или середине:

template<typename T, typename U> void f(T t) {}
template<typename T, typename U> void g(U u) {}

int main() {
    f<int>(5);      // NOT LEGAL
    f<int, int>(5); // LEGAL

    g<int>(5);      // LEGAL
    g<int, int>(5); // LEGAL

    return 0;
}
17
ответ дан 8 December 2019 в 03:54
поделиться

Нет ничего плохого в том, чтобы вызывать его с неявными параметрами шаблона. Компилятор сообщит вам, если он запутается, и в этом случае вам, возможно, придется явно определить параметры шаблона для вызова функции.

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

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