Сообщение Re[42]: Они сделали дерьмо опять от 02.07.2020 18:51
Изменено 02.07.2020 18:52 boomer
Re[42]: Они сделали дерьмо опять
Здравствуйте, night beast, Вы писали:
B>>Если предположить, что swap — шаблонная функция, то вот так:
B>>
NB>теперь предположите, что у меня в функции foo не стоит using std::swap;
NB>полезете глобальное пространство зачищать?
Так оно и так только глобальное.
B>>Если же предположить, что должна вызываться функция, переопределенная для типа T — то точно так же. Просто эта функция будет переопределена вот так:
B>>
NB>то есть мы префиксы используем только для типов?
NB>что так?
B>>Не то?
NB>а если у меня в "пространстве" company_project_type swap шаблонный?
Тогда так:
[ccode]
void swap(company_project_type& x, company_project_type& y)
{
company_project_swap(x, y);
}
[/code]
B>>Если предположить, что swap — шаблонная функция, то вот так:
B>>
B>>template<typename T>
B>>void foo(T& x, T& y)
B>>{
B>> swap(x, y);
B>>}
B>>
NB>теперь предположите, что у меня в функции foo не стоит using std::swap;
NB>полезете глобальное пространство зачищать?
Так оно и так только глобальное.
B>>Если же предположить, что должна вызываться функция, переопределенная для типа T — то точно так же. Просто эта функция будет переопределена вот так:
B>>
B>>void swap(company_project_type& x, company_project_type& y)
B>>
NB>то есть мы префиксы используем только для типов?
NB>что так?
B>>Не то?
NB>а если у меня в "пространстве" company_project_type swap шаблонный?
Тогда так:
[ccode]
void swap(company_project_type& x, company_project_type& y)
{
company_project_swap(x, y);
}
[/code]
Re[42]: Они сделали дерьмо опять
Здравствуйте, night beast, Вы писали:
B>>Если предположить, что swap — шаблонная функция, то вот так:
B>>
NB>теперь предположите, что у меня в функции foo не стоит using std::swap;
NB>полезете глобальное пространство зачищать?
Так оно и так только глобальное.
B>>Если же предположить, что должна вызываться функция, переопределенная для типа T — то точно так же. Просто эта функция будет переопределена вот так:
B>>
NB>то есть мы префиксы используем только для типов?
NB>что так?
Потому что это не "наша" функция, а переопределение глобальной.
B>>Не то?
NB>а если у меня в "пространстве" company_project_type swap шаблонный?
Тогда так:
[ccode]
void swap(company_project_type& x, company_project_type& y)
{
company_project_swap(x, y);
}
[/code]
B>>Если предположить, что swap — шаблонная функция, то вот так:
B>>
B>>template<typename T>
B>>void foo(T& x, T& y)
B>>{
B>> swap(x, y);
B>>}
B>>
NB>теперь предположите, что у меня в функции foo не стоит using std::swap;
NB>полезете глобальное пространство зачищать?
Так оно и так только глобальное.
B>>Если же предположить, что должна вызываться функция, переопределенная для типа T — то точно так же. Просто эта функция будет переопределена вот так:
B>>
B>>void swap(company_project_type& x, company_project_type& y)
B>>
NB>то есть мы префиксы используем только для типов?
NB>что так?
Потому что это не "наша" функция, а переопределение глобальной.
B>>Не то?
NB>а если у меня в "пространстве" company_project_type swap шаблонный?
Тогда так:
[ccode]
void swap(company_project_type& x, company_project_type& y)
{
company_project_swap(x, y);
}
[/code]