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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что это за объявление класса 
:(
    Опции темы
hoz
Дата 27.8.2014, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Подскажите, пожалуйста, как понять данную конструкцию:
Код

struct Lots_Properties
{
   double      gd_MinLot;           // Минимальный объём для заключения сделки
   double      gd_MaxLot;           // Максимальный объём для заключения сделки
   double      gd_LotStep;          // Шаг изменения размера лота
   double      gd_LotSize;          // Размер контракта в базовой валюте инструмента
   int         gi_LotDecimal;       // Определяем минимальную разрядность лота
} SLots;

Почему SLots после скобки и перед кавычками?
PM MAIL   Вверх
baldman88
Дата 27.8.2014, 13:22 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ковычек так и не нашел, хотя старался.
Если не изменяет память, то Вы декларируете структуру Lots_Properties и сразу создаете ее экземпляр SLots. Это упрощенная запись. Можно записать так:
Код

struct Lots_Properties
{
   double      gd_MinLot;           // Минимальный объём для заключения сделки
   double      gd_MaxLot;           // Максимальный объём для заключения сделки
   double      gd_LotStep;          // Шаг изменения размера лота
   double      gd_LotSize;          // Размер контракта в базовой валюте инструмента
   int         gi_LotDecimal;       // Определяем минимальную разрядность лота
};
struct Lots_Properties SLots;

PM MAIL   Вверх
bsa
Дата 27.8.2014, 14:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(baldman88 @  27.8.2014,  14:22 Найти цитируемый пост)
Если не изменяет память, то Вы декларируете структуру Lots_Properties и сразу создаете ее экземпляр SLots.
все так, только если перед словом struct не стоит typedef  smile 

PM   Вверх
baldman88
Дата 27.8.2014, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(bsa @  27.8.2014,  14:51 Найти цитируемый пост)
все так, только если перед словом struct не стоит typedef

Это да. Но ведь в приведенном коде typedef не стоит   smile 
PM MAIL   Вверх
hoz
Дата 27.8.2014, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(baldman88 @  27.8.2014,  13:22 Найти цитируемый пост)
Ковычек так и не нашел, хотя старался.
Если не изменяет память, то Вы декларируете структуру Lots_Properties и сразу создаете ее экземпляр SLots. Это упрощенная запись. Можно записать так:

Код

struct Lots_Properties
{
   double      gd_MinLot;           // Минимальный объём для заключения сделки
   double      gd_MaxLot;           // Максимальный объём для заключения сделки
   double      gd_LotStep;          // Шаг изменения размера лота
   double      gd_LotSize;          // Размер контракта в базовой валюте инструмента
   int         gi_LotDecimal;       // Определяем минимальную разрядность лота
};
struct Lots_Properties SLots;

А зачем при создании объекта структуры struct ?
Я обычно создаю его так:
Код

struct Lots_Properties
{
   double      gd_MinLot;           // Минимальный объём для заключения сделки
   double      gd_MaxLot;           // Максимальный объём для заключения сделки
   double      gd_LotStep;          // Шаг изменения размера лота
   double      gd_LotSize;          // Размер контракта в базовой валюте инструмента
   int         gi_LotDecimal;       // Определяем минимальную разрядность лота
};
Lots_Properties SLots;

PM MAIL   Вверх
baldman88
Дата 27.8.2014, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(hoz @  27.8.2014,  18:38 Найти цитируемый пост)
А зачем при создании объекта структуры struct ?
Это я по привычке в стиле С написал. В С++ ключевое слово struct можно опускать.
PM MAIL   Вверх
hoz
Дата 27.8.2014, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(baldman88 @  27.8.2014,  20:05 Найти цитируемый пост)
Это я по привычке в стиле С написал. В С++ ключевое слово struct можно опускать. 

Я так понимаю, этот приём создания объекта взят из Си? Читаю Стивена Прата и Дейтелов я такого не встречал..
 Получается, что таким образом создаются именно глобальные объекты структуры или класса, верно? Судя по тому, что создаётся он сразу после описания соответствующей структуры или класса, а не в файлах, где описываются классы, например, а которых используются данные объекты соответствующих структур или классов.
PM MAIL   Вверх
baldman88
Дата 28.8.2014, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(hoz @  27.8.2014,  23:51 Найти цитируемый пост)
Я так понимаю, этот приём создания объекта взят из Си? Читаю Стивена Прата и Дейтелов я такого не встречал..
 Получается, что таким образом создаются именно глобальные объекты структуры или класса, верно? Судя по тому, что создаётся он сразу после описания соответствующей структуры или класса, а не в файлах, где описываются классы, например, а которых используются данные объекты соответствующих структур или классов. 
В С понятия объекта, такого как в С++, нет.
Вы на каком языке пишете? Тот пример, который Вы описали, больше похож на С (с его глобальной областью видимости), чем на С++. Если же это С++, то это, по моему скромному мнению, следствие кривизны архитектуры приложения.
Еще раз посоветую Вам на будущее -- задавая вопрос, описывайте задачу, которую Вы пытаетесь решить, тогда другим будет легче помочь Вам в этом.
PM MAIL   Вверх
bsa
Дата 28.8.2014, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(hoz @  28.8.2014,  00:51 Найти цитируемый пост)
Получается, что таким образом создаются именно глобальные объекты структуры или класса, верно?
Код
#include <iostream>

int main()
{
    struct { int operator()(int x) const { return x * 10; } } func;
    std::cout << func(10) << std::endl;
    return 0;
}

PM   Вверх
hoz
Дата 30.8.2014, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(baldman88 @  28.8.2014,  14:52 Найти цитируемый пост)
Вы на каком языке пишете?

С++ - подобном. А если точно, то mql4.


Цитата(baldman88 @  28.8.2014,  14:52 Найти цитируемый пост)
Вы на каком языке пишете? Тот пример, который Вы описали, больше похож на С (с его глобальной областью видимости), чем на С++. Если же это С++, то это, по моему скромному мнению, следствие кривизны архитектуры приложения.
Еще раз посоветую Вам на будущее -- задавая вопрос, описывайте задачу, которую Вы пытаетесь решить, тогда другим будет легче помочь Вам в этом. 

Благодарю за совет. Так и будет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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