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

Доступ к переменной только из двух функций. Возможно ли это? - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.03.2014, 17:33     Доступ к переменной только из двух функций. Возможно ли это? #1
Две функции, не члены класса, одна из них должна писать в переменную, другая эту переменную читать и больше ни где эта переменная должна быть не доступна. Инфа должна в этой переменной сохраняться между вызовами второй функции.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 17:33     Доступ к переменной только из двух функций. Возможно ли это?
Посмотрите здесь:

C++ структура в классе-это возможно?
Возможно ли это на с++? C++
Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних. C++
C++ Доступ к данным в *.mdb посредством OLE DB -- это возможно?
Получить доступ к переменной класса при наличии такого же имени переменной в функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
17.03.2014, 18:14     Доступ к переменной только из двух функций. Возможно ли это? #2
как вариант может создать вокруг этих функций и этой переменной пространство имен под тип:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace to_a_access
{
    int a;
    void f()
    {
        //тело f()
    }
 
    void g()
    {
        //тело g()
    }
 
}
Добавлено через 7 минут
ну и после namespace'а можно добавить:
C++
1
2
using to_a_access::f;//к f и g можно будет обращаться без указания пространства имен...
using to_a_access::g;//..., а к "а" - нет
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.03.2014, 18:14  [ТС]     Доступ к переменной только из двух функций. Возможно ли это? #3
А без неймспейсов? Да, кстати, вторая функция должна и читать переменную, и писать.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
17.03.2014, 18:18     Доступ к переменной только из двух функций. Возможно ли это? #4
1.cpp
C++
1
2
3
4
5
6
7
8
9
10
namespace { 
   int x ; 
}
 
//static int x ; // если namespace не устраивает
 
void first () {
}
void second () {
}
1.h
C++
1
2
void first () ;
void second() ;
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.03.2014, 18:20  [ТС]     Доступ к переменной только из двух функций. Возможно ли это? #5
Кстати, что мешает написать
C++
1
to_a_access::a
?

Добавлено через 1 минуту
Croessmah, вынести в отдельный модуль и экспортировать только функции?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
17.03.2014, 18:20     Доступ к переменной только из двух функций. Возможно ли это? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от taras atavin Посмотреть сообщение
вынести в отдельный модуль и экспортировать только функции?
ну да. Переменная будет недоступна из других модулей
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
17.03.2014, 18:21     Доступ к переменной только из двух функций. Возможно ли это? #7
а чем вам класс или структура не угодили? у них есть приятные модификаторы доступа. глобальные переменные вы тоже забраковали (но здесь я пожалуй с вами солидарен). ну ничего другого в голову не идет, к сожалению.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2014, 18:32     Доступ к переменной только из двух функций. Возможно ли это?
Еще ссылки по теме:

Возможно ли это заменить циклом? C++
Как это возможно сделать? C++
C++ Partition для map. Возможно ли это?

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

Или воспользуйтесь поиском по форуму:
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
17.03.2014, 18:32     Доступ к переменной только из двух функций. Возможно ли это? #8
В дополнение к ответу Croessmah, вместо анонимного неймспейса можно переменную сделать static. Фактически это несколько другое, но эффект тот же - недоступность из модулей.
Yandex
Объявления
17.03.2014, 18:32     Доступ к переменной только из двух функций. Возможно ли это?
Ответ Создать тему
Опции темы

Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru