Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Lambont
92 / 91 / 61
Регистрация: 23.11.2013
Сообщений: 242
1

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

20.01.2014, 19:24. Просмотров 497. Ответов 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?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 19:24
Ответы с готовыми решениями:

Перегрузка операторов, friend или нет friend?
Всем здравствуйте. Есть такой вопрос: при перегрузке операторов в классе(пусть...

Friend что то не френдится
//Point.h #ifndef POINT_H #define POINT_H class Point { private:...

Что в данном случае означает friend?
Всем доброй ночи! Помню, кода-то очень давно мельком видел, что кто-то уже...

Что за конструкция?
что означает такая конструкция??? int *&node

Что за конструкция?
Привет. Что за конструкция такая? Поясните что делает: for( int...

2
metaluga145
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
20.01.2014, 22:31 2
Lambont, тут написано
1
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.01.2014, 23:09 3
Цитата Сообщение от Lambont Посмотреть сообщение
как оно вообще компилируется?
А главное где?
http://ideone.com/svngCK
Хотя студия съедает, но в итоге получается код, эквивалентный friend (без static)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 23:09

Что за конструкция?
Доброго времени суток. Встречал где-то конструкцию типа for(;;) { тыры-пыры;...

Что за конструкция языка
int a={{{1,2},3},{{4,5},6},{{7,8},9}}; как можно вывести значение 6 например?...

Что за конструкция в языке?
int a = {{1,2},3}; что значат скобки внутри скобок?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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