crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
RazrFalcon
  опции профиля:
сообщение 11.11.2011, 19:09
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Нужно передать: 2-а QStringList, QString, QList<bool>, и возможно что-то еще.
Как лучше это сделать? Передавать кучу аргументов как то тупо.
Правильно ли будет, создать свой собственный маленький класс, который будет сначала заполнятся, потом пересылаться, а затем считываться?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 11.11.2011, 19:59
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

Спасибо сказали: 40 раз(а)




Репутация:   6  


Гм. Возможно, класс слишком громоздко.... тут за глаза струтуры хватит, хотя не знаю подоплеку передачи данных в Qt, возможно, будет даже экономнее передвать впрямую строки. Я бы по старинке -структуру или указатель на нее бы передал, дешево и сердито.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 11.11.2011, 20:39
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Дык разницы то между структурой с классом фактически нет, уж лучше класс.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 11.11.2011, 20:42
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата
Дык разницы то между структурой с классом фактически нет, уж лучше класс.

Угу, только передавать лучше через указатель.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 11.11.2011, 23:07
Сообщение #5


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


То есть передавать только указатель, а не весь класс?

Имеено:
void someFunc(MyClass *myClass);
или хватит и:
void someFunc(const MyClass &myClass);
? А то я в этом путаюсь <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 12.11.2011, 10:55
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата(RazrFalcon @ 12.11.2011, 2:07) *
То есть передавать только указатель, а не весь класс?

Имеено:
void someFunc(MyClass *myClass);
или хватит и:
void someFunc(const MyClass &myClass);
? А то я в этом путаюсь <_<


В первом случае через указатель, во втором по ссылке. Хватит и ссылки, и даже без "const".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 12.11.2011, 14:03
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Как я понимаю, ссылка лучше, так как если через указатель передавать, то нужно потом еще delete вызывать. Да?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 12.11.2011, 15:37
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата
если через указатель передавать, то нужно потом еще delete вызывать. Да?

Нет. Если вызвать delete то уничтожиться объект на который будет указывать указатель, т.е. ваш класс. А зачем вам его удалять? Сам же указатель, как переменная, уничтожиться при выходе из функции.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 12.11.2011, 15:51
Сообщение #9


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Ну так он нужен чтобы передать инфу, после передачи он больше не нужен. Просто будет еще морока с удалением. А так, как я понял, ссылка даст то же результат.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 12.11.2011, 16:10
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата
А так, как я понял, ссылка даст то же результат.

В целом, да. Различаться будет только вызов функции.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.4.2025, 17:17