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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ простая программа на структуры с++ http://www.cyberforum.ru/cpp-beginners/thread1076710.html
Помогите, пожалуйста, написать программу на структуры С++, не могу разобраться..думаю, все не так сложно, как мне кажется месяц=(Jan, Feb,.., Dec); день=(1..31); день d1, d2 месяц m1,m2 int k;...
C++ operator() Здраваствуйте. Объясните пожалуйста смысл "opereator()" во всех случаях, что он делает, почему иногда впереди него ставится "&" "&operator()" и почему "opereator()" используется в функторах. Если... http://www.cyberforum.ru/cpp-beginners/thread1076691.html
C++ Замерить время вычислений
Добрый вечер. Есть ли способ замерить продолжительность процесса вычислений, детали которых скрыты? Есть объект, который производит продолжительное вычисление, и нужно как-то вывести это на...
цикл do while C++
for(int z=0; z<=4;z++) { do { fream(); // вызов функции var = randX_p_0_1(Pperr); // вызов...
C++ Является ли отрицательное значение выходом за пределы массива http://www.cyberforum.ru/cpp-beginners/thread1076671.html
Если написать такой код, то прога скомпилируется и запустится, но можно ли потом ждать проблем и неожиданных зависаний ? int i=-1; int mass={0}; _cprintf("mass= %d\n", mass); Часто...
C++ небольшое исправление написал прогу которая будет выводить количество вершин(узлов) на уровне который вводим с клавиатуры только конец проги не могу дописать, помогите пожалуйста #include<iostream> using namespace std... подробнее

Показать сообщение отдельно
Lambont
27 / 27 / 14
Регистрация: 23.11.2013
Сообщений: 62

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

20.01.2014, 19:24. Просмотров 394. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru