![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dagger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
Приходится учить С!
Поскольку я начинающий программист, то скажите пожалуйста где у меня что-то неверно или подскажите как эти функции можно решить более простым методом. Все на ANSI C и меня (пока что!!!) мало волнует С++ Код однозначно где-то неверен. Только где - никак не могу разобраться.
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Функция номер 1
Если не охота использовать memcpy можешь написать свой функцию... Это сообщение отредактировал(а) azesmcar - 13.12.2004, 17:02 |
|||
|
||||
| Dagger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
че это такое const_cast<char*>(str)+begin ??
имхо эта конструкция в С++ появилась? Матюгается компилер |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Функция номер 2
Добавлено @ 17:13 const_cast константность убирает, чтоб указателю можно было begin приплюсовать..вот только не помню точно он в С есть или нет...ну тогда просто убери из первого параметра префикс const
Добавлено @ 17:14 Ты уверен что он не на memcpy ругается??? включи в программу string.h |
||||
|
|||||
| Dagger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
не, короч все заработало. я эту шнягу с угловыми скобками убрал, оставил только (char *)str+begin - птому шо какая разница в условии const или не const оно должно быть передает что надо.
я жопой чую, что это в логике где-то перекрутил неверно. дело в том, что я пришел из мира Perl.. потом был PHP.. сейчас жизнь хочет С... раньше писал какие-то мелкие феньки, а тут сразу здоровый проект на С и надо так что не удивляйтесь глупым и нерациональным решениям Добавлено @ 17:24 функция №2 - твое решение реально быстрее того, что навял я? или как? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Твое решение вызывало strstr а как он работает я честно говоря понятия не имею...если уж из мира перла то наверняка у тебя и линукс присутствует, скомпилируй под линукс и запусти
time ./a.out посмотри оба варианта, кто быстрее..но мое решение во всяком случае короче получилось...над оптимизацией честно говоря долго не думал...третью задачу завтра посмотрю..сегодня уже не успеть... |
|||
|
||||
| Dagger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
ок, супер
на серваке честно говоря лениво этим заниматься т.к. у меня компилер показывает время выполнения. Завтра постараюсь поглядеть на время, сейчас устал и дизайню спасибо за помощь! жду дальнейших комментов! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |