Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Friend declaration construction - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какой паттерн подойдет, чтобы избежать длинных ветвлений? http://www.cyberforum.ru/cpp/thread1780896.html
здравствуйте, есть код схематично такой: class CTest_base { public: CTest_base() : vec() {} virtual ~CTest_base() noexcept {} //something else protected: std::vector<int> vec;...
C++ Что такое фреймворк? Доброго времени суток. Объясните пожалуйста на счет фреймворков. Несколько минут погуглив я примерно понял что это такое, но все же остались сомнения. В универе нам сказали писать программы в QT. При... http://www.cyberforum.ru/cpp/thread1780854.html
C++ Скорость или размер. Динамика
Есть ряд вопросов.. 1) Что быстрее считает процессор (соответственно с разрядностью). К примеру динамически создаётся массив. Из этого массива надо вычислить к примеру c=a+b. Если c = m и a = m, то...
C++ Существует ли какие-нибудь мета редакторы(авто дописывание кода)?
Всем доброго времени суток! Я решил оптимизировать свою работу и придумал следующую идею на основе авто кода в C++ XE3. Если в среде написать switch и следать пробел, то программа сама допишет то,...
C++ Таблица символов для компилятора http://www.cyberforum.ru/cpp/thread1778725.html
Делаю простой компилятор и что-то зависла на вопросе о том, как хорошо реализовать таблицу символов. Реализовать в виде класса, где в качестве поля используется, скажем, вектор, в который добавляются...
C++ Хэш код для нормализованного вектора Мне нужно генерировать 64-разрядный хэш для трехмерных нормализованных векторов (double). Хэши должны быть равны если сгенерированы из одного или равных (поэлементно) векторов. У кого какие мысли?... подробнее

Показать сообщение отдельно
ASCII
90 / 62 / 10
Регистрация: 15.12.2013
Сообщений: 403
Завершенные тесты: 2
16.07.2016, 17:06  [ТС]
Nosey,
Цитата Сообщение от Nosey Посмотреть сообщение
— if the name of the friend is a qualified or unqualified template-id, the friend declaration refers to a
specialization of a function template, otherwise
— if the name of the friend is a qualified-id and a matching non-template function is found in the specified
class or namespace, the friend declaration refers to that function, otherwise,
— if the name of the friend is a qualified-id and a matching function template is found in the speci-
fied class or namespace, the friend declaration refers to the deduced specialization of that function
template (14.8.2.6), otherwise,
— the name shall be an unqualified-id that declares (or redeclares) an ordinary (non-template) function.
1) Если имя друга квалифицированный или не квалифицированный template-id ( name_of_function<type1, type2> ), то объявление друга ссылается на специализацию шаблона функции

Тут вроде все понятно, тут говорится про template-id, то есть с указанием угловых скобок

2) Если имя друга квалифицированный идентификатор и соответствует не шаблонной функции в указанном классе или пространстве
имен (как тут правильней перевести?)
, объявление друга ссылается на функцию (обычную)

3) Если имя друга квалифицированный идентификатор и соответствует найденной шаблонной функции в указанном классе или
пространстве имен, объявление друга ссылается на выведенную специализацию шаблона того шаблона функции

4) в противном случае имя должно быть неквалифицированным идентификатором, которое объявляет обычно не шаблонную функцию.

Что это все значит??? Перевести это одно, а вот правильно понять - другое...

Добавлено через 21 минуту
А действительно третее правило не понятно. Говорится, что если квалифицированное имя соответствует шаблону, то дружественность ссылается на специализацию шаблона (ее инстанциированную версию для указанного типа). Однако почему тогда пример не работает? Не пойму чет
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru