powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глобальная переменная
3 сообщений из 3, страница 1 из 1
Глобальная переменная
    #34019345
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот возникла нужда написать чуток на eVC.

Я конечно понимаю, что глобальные переменные это зло, но во всей программе она (переменная) одна...

объявляю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//interface.h
#ifndef INTERFACE_H
#define INTERFACE_H

#pragma once
.....
static INTERFACEREC intf;

#endif

Код: plaintext
1.
2.
3.
4.
5.
6.
//main.cpp
....
#include "interface.h"
.....
void InitIntf(void){
    intf.data =  100 ;
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
//module.cpp
....
#include "interface.h"
...
int GetData(void){
    return (intf.data);
// ^^^^^^^^^^^
//при попадании сюда переменная intf - другая
}
.....

Я так понимаю, что переменная инициализируется дважды...
Может, я как-то не так ее объявил?
Подскажите, pls, как правильно это описать...

Заранее премного благодарен.
...
Рейтинг: 0 / 0
Глобальная переменная
    #34019442
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//interface.h
#ifndef INTERFACE_H
#define INTERFACE_H

#pragma once
.....
extern INTERFACEREC intf;

#endif

Код: plaintext
1.
2.
3.
//в одном из cpp-модулей
.....
INTERFACEREC intf;
}

а static наоборот нужен для ограничения видимости только внутри единицы компиляции
...
Рейтинг: 0 / 0
Глобальная переменная
    #34019451
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глобальная переменная
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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