Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> безымянные переменные 
:(
    Опции темы
GoldFinch
Дата 22.6.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



написал для синхронизации,
Код

class Synchronizer
{
public:
    Synchronizer(); // EnterCriticalSection()
    ~Synchronizer(); //LeaveCriticalSection()
...

все мне в нем нравится, но вот при использовании, надо писать-придумывать имя переменной
Код

T foo(...) {
    Synchronizer sinchronizeMePlease;
...
}


можно ли как-нибудь обойтись без явного задания переменной?
PM MAIL ICQ   Вверх
azesmcar
Дата 22.6.2009, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Создать можно, но это будет просто вызов конструктора и за ним последует вызов деструктора. Это не даст нужного эфекта.
Мне кажется надо думать в другом направлении. 

Это сообщение отредактировал(а) azesmcar - 22.6.2009, 22:26
PM   Вверх
AnLun
Дата 22.6.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



А обязательно все реализовывать через конструктор\деструктор?
Просто статические функции нельзя написать?

Synchronizer в программе имеет один или несколько экземпляров?
PM MAIL   Вверх
azesmcar
Дата 22.6.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(AnLun @  22.6.2009,  22:25 Найти цитируемый пост)
Просто статические функции нельзя написать?

Synchronizer в программе имеет один или несколько экземпляров? 

Я  тоже об этом сперва подумал, но скорее всего нужны несколько экземпляров синхронизатора.
PM   Вверх
GoldFinch
Дата 22.6.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



AnLun, экземпляр допустим один, что значит использовать статические функции?
PM MAIL ICQ   Вверх
AnLun
Дата 22.6.2009, 23:09 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



Что-то вроде:
Код

#include <iostream>

class ap1
{
    private:
        static int _x; // статическая переменная

    public:
        ap1(){_x=1;}
        ~ap1(){_x=0;}
        static void p(){std::cout << _x;} // статическая функция
};

int ap1::_x=5;

int main()
{
    ap1::p();//вызов статической функции

    return 0;
}


PS прочитай про это где-нибудь...

Это сообщение отредактировал(а) AnLun - 22.6.2009, 23:10
PM MAIL   Вверх
GoldFinch
Дата 22.6.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



AnLun, и что это дает? мне какбэ надо чтобы при возврате из функции вызвался деструктор.
т.е. чтобы код
Код

#include <iostream>
class ap1
{
    public:
        ap1(){std::cout <<1;}
        ~ap1(){std::cout <<2;}
...
};
...

int main()
{
    ...
    std::cout <<"-";
}

вывел "1-2"
PM MAIL ICQ   Вверх
AnLun
Дата 22.6.2009, 23:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



А что нельзя написать так:
Код

class Synchronizer
{
public:
    static void start(); // EnterCriticalSection()
    static void end(); //LeaveCriticalSection()
...


Код

T foo(...) {
    Synchronizer::start(); //как бы конструктор
...
    Synchronizer::end(); //как бы деструктор
}


P.S. Скомпилируй мой код с ap1 - там конструктор и деструктор вообще не вызываются

Это сообщение отредактировал(а) AnLun - 22.6.2009, 23:39
PM MAIL   Вверх
mes
Дата 22.6.2009, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(AnLun @  22.6.2009,  22:29 Найти цитируемый пост)

P.S. Скомпилируй мой код с ap1 - там конструктор и деструктор вообще не вызываются! 

так человек автоматизации хочет, а Вы ему что подсовываете ? smile

Добавлено через 3 минуты и 37 секунд
Цитата(GoldFinch @  22.6.2009,  21:14 Найти цитируемый пост)
все мне в нем нравится, но вот при использовании, надо писать-придумывать имя переменной

на блок же одна такая переменная ? или проблема с именем даже в этом случае ?



--------------------
PM MAIL WWW   Вверх
AnLun
Дата 22.6.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



Цитата(mes @ 22.6.2009,  21:36)
Цитата(AnLun @  22.6.2009,  22:29 Найти цитируемый пост)

P.S. Скомпилируй мой код с ap1 - там конструктор и деструктор вообще не вызываются! 

так человек автоматизации хочет, а Вы ему что подсовываете ? smile

mes, не понял Вас smile 

Сорри, понял

Это сообщение отредактировал(а) AnLun - 22.6.2009, 23:56
PM MAIL   Вверх
GoldFinch
Дата 22.6.2009, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



mes, мне просто не хочется ее писать. Конфликта имен наверное не будет ни при каких условиях, но мне както не нравится видеть переменную которая визуально "не используется". Может это просто дело привычки %)

Это сообщение отредактировал(а) GoldFinch - 23.6.2009, 00:45
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0797 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.