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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lambont
25 / 25 / 14
Регистрация: 23.11.2013
Сообщений: 61
#1

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

20.01.2014, 19:24. Просмотров 383. Ответов 2
Метки нет (Все метки)

Здравствуйте, изучаю 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++
Что значит эта конструкция C++
Что за конструкция? C++
Перегрузка операторов, friend или нет friend? C++
Что означает конструкция int x{}; ? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
20.01.2014, 22:31     Что за static friend конструкция? #2
Lambont, тут написано
Tulosba
:)
Эксперт С++
4391 / 3234 / 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 конструкция?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru