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

Что за static friend конструкция? - C++

Восстановить пароль Регистрация
 
Lambont
7 / 7 / 4
Регистрация: 23.11.2013
Сообщений: 30
20.01.2014, 19:24     Что за static friend конструкция? #1
Здравствуйте, изучаю C++, откопал я тут случайно пример:
C++
1
2
3
4
5
6
7
8
class t{
    int var;
public:
    t(int val):var(val){};
    static friend int inc(t *pt){
        return ++pt->var;
    }
};
static friend int inc(t *pt) - что это, как оно вообще компилируется?
Ведь, насколько я знаю, при static-методе, к методу можно обращаться вне класса (только с оператором разрешения), но метод всё также остаётся собственностью класса в отличии от friend, при котором метод не будет является собственностью (а в данном случае является как глобальная функция с доступом к private-членам t)... Что-то взаимоисключающее прямо
Проверил, работает так, будто метод объявлен только как friend, может static при компиляции удаляется, если компилятор видит рядом friend?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 19:24     Что за static friend конструкция?
Посмотрите здесь:

C++ Friend что то не френдится
Что за конструкция? C++
C++ Что за конструкция в языке?
C++ Что за конструкция языка
C++ Что за конструкция?
C++ Что в данном случае означает friend?
Что значит эта конструкция? C++
Что делает данная конструкция? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
20.01.2014, 22:31     Что за static friend конструкция? #2
Lambont, тут написано
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.01.2014, 23:09     Что за static friend конструкция? #3
Цитата Сообщение от Lambont Посмотреть сообщение
как оно вообще компилируется?
А главное где?
http://ideone.com/svngCK
Хотя студия съедает, но в итоге получается код, эквивалентный friend (без static)
Yandex
Объявления
20.01.2014, 23:09     Что за static friend конструкция?
Ответ Создать тему
Опции темы

Текущее время: 20:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru