ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

06.07.2009, 23:47
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Меня интересует что содержится в ссылке, а что в указателе на момент возврата - адрес что-то другое...
В чем разница, если я напишу так:
Код:
Cat &func2(Cat *cat1)
{
cout << "func2...\n";
cat1->SetAge(7);
cout << "Age is " << cat1->GetAge() << endl;
return *cat1;
}
а не так:
Код:
Cat *func2(Cat *cat1)
{
cout << "func2...\n";
cat1->SetAge(7);
cout << "Age is " << cat1->GetAge() << endl;
return cat1;
}
что означает значок * или & у имени ф-и? и что в итоге возвратится - адрес что-то другое?
Последний раз редактировалось horlyk; 07.07.2009 в 00:09..
|
|
|

07.07.2009, 01:07
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
ссылки сделаны для удобства использования. к методам класса ты будешь обращаться через ., а при указетеле через ->. Больше никакой принципиальной разницы нету. На уровне ассемблера в обоих случаях возвратится адрес.
|
|
|

07.07.2009, 10:56
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
При передаче аргумента по указателю использовать все время разименовывание обычно неудобно и код выглядит некрасиво, хотя здесь это не очень заметно.
|
|
|

07.07.2009, 18:24
|
|
Познающий
Регистрация: 19.10.2007
Сообщений: 72
Провел на форуме: 255436
Репутация:
14
|
|
Посоветуйте что почитать про работу с устройствами , подключенными через usb и com . язык с++ .
|
|
|

07.07.2009, 18:32
|
|
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме: 424387
Репутация:
142
|
|
Агурова , Уолтера Они .
|
|
|

07.07.2009, 21:03
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Ra$cal, Fata1ex, спасибо. То есть если возле имени ф-и стоит значок ссылки или указателя, то ф-я должна вернуть адрес, я правильно понял?
Последний раз редактировалось horlyk; 07.07.2009 в 21:07..
|
|
|

07.07.2009, 21:18
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Cat* func1(Cat *cat1)
Cat& func2(Cat *cat1)
Возможно так будет понятнее. То что стоит слева от названия функции в данном случае является типом возвращаемого значения. Т.е. первая функция возвращает указатель на объект класса Cat, а вторая ссылку на него.
|
|
|

07.07.2009, 21:48
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
О, теперь понял, большое спасибо!
|
|
|

08.07.2009, 13:55
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
Провел на форуме: 4778940
Репутация:
1257
|
|
нужно заюзать регулярки. скачал пак с оф-сайта (pcre.org), подключил либы, всё хорошо. только вот за прогой нужно таскать dll весом ~150 кб. есть несколько проблем:
1) убрать длл. что бы был только exe, и при этом он везде работало.
2) желательно - уменьшить размер. (там полно не нужных мне функций)
пробовал сделать и то и другое. подключил к проекту нужные заголовки и файлы. всё-бы ничего, но компилятор ругается:
...
obj\Release\pcre_compile.o:pcre_compile.c:(.text+0 x966)||undefined reference to `__pcre_OP_lengths'|
obj\Release\pcre_compile.o:pcre_compile.c:(.text+0 x128a)||undefined reference to `__pcre_is_newline'|
obj\Release\pcre_compile.o:pcre_compile.c:(.text+0 x5c2f)||undefined reference to `__pcre_OP_lengths'|
....
пробовал подключать pcre либы и гуглить - не помогло.
собственно сабж: как это сделать? либо, есть ли более лёгкие(возможно, менее функциональные) реализации регулярок?
Последний раз редактировалось mr.The; 08.07.2009 в 13:58..
|
|
|

08.07.2009, 19:10
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
попробуй регэкспы из буста поюзать. там есть статическая линковка. а на счет размреа - хз. там много кода нужно чтоб это работало. нужно идти на жертвы.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|