powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / кто знает?
4 сообщений из 4, страница 1 из 1
кто знает?
    #32515127
omygut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зачем у Paint-а здесь тип static

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
case WM_PAINT:
       BeginPaint(hWnd, &ps);
       Paint(hWnd, &ps);
       EndPaint(hWnd, &ps);
       break;

static void Paint(HWND hWnd, LPPAINTSTRUCT lpPS)
{
// рисуем
}
 

кто знает?
...
Рейтинг: 0 / 0
кто знает?
    #32515285
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это означает, что функция Paint будет видна только в этой единице трансляции, в которой она определена. То есть, используя квалификатор static можно локализовать видимость имени единицей трансляции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
//  1 .cpp
static void Paint() {}

void foo()
{
     Paint(); // вызов Paint определенного в  1 .cpp
}

//  2 .cpp
static void Paint() {}

void boo()
{
     Paint(); // вызов Paint определенного в  2 .cpp
}

В С++ на смену квалификатору static пришли анонимные пространства имен, то есть:

Код: plaintext
1.
2.
namespace {
    void Paint() {}
}

эквивалентно по смыслу:

Код: plaintext
static void Paint() {}
...
Рейтинг: 0 / 0
кто знает?
    #32515286
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так ка это функа, не член класса то скорее всего для ограничения
области видимости функции в пределах данного файла ...
...
Рейтинг: 0 / 0
кто знает?
    #32515300
omygut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / кто знает?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]