Глобальные переменные |
Здравствуйте, гость ( Вход | Регистрация )
Глобальные переменные |
Raks123 |
22.11.2011, 16:05
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 2.10.2011 Пользователь №: 2920 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вопрос такой: как правильно создать глобальную переменную, чтобы её было видно в разных cpp файлах? Знаю, что это плохая практика, но все-таки у меня по другому, даже через самую большую задницу, которую я пытался изобрести не получается(((
|
|
|
Алексей1153 |
23.11.2011, 7:36
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
с классом всегда удобнее
extern - это хвостик от C остался Сообщение отредактировал Алексей1153 - 23.11.2011, 7:36 |
|
|
Iron Bug |
25.11.2011, 21:55
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
с классом всегда удобнее extern - это хвостик от C остался не всегда. особенно при кроссплатформе и разных компиляторах. не все компиляторы понимают объявления без extern. это зависит от платформы и конкретного компилятора. extern поддерживают абсолютно все. это стандарт. а вот экспорт классов в библиотеках разных компиляторов сделан по-разному. и часто для совместимости библиотек приходится писать обёртки и вызов отдельных функций именно через функции и extern, потому что это стандартный метод. а экспорт классов не стандартизован и каждый создатель компилятора делает, как может. а у мелкософта ещё и от версии к версии эти форматы менялись и в результате классы в библиотеках, собранных старыми студиями не совместимы с вызовами в новых конечно, если это одна платформа, один компилятор и один программист - то решительно пофиг. но если вдруг собираешься экспортировать свои библиотеки (особенно закрытый код), то лучше избегать экспорта классов и глобальных данных. потому что с ними можно огрести геморроя при некоторых обстоятельствах. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 11:08 |