Форум программистов, компьютерный форум CyberForum.ru

Задать указатель - C++

Восстановить пароль Регистрация
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
21.11.2012, 22:39     Задать указатель #1
Подскажите как можно заменить этот фрагмент кода? Чтобы было проще и быстрее. Суть надо указатель поставить на последний элемент массива.
C++
1
2
3
4
5
6
char str[200]="aa tuuet aa", *end;
end = str;
    while(*end!='\0')
    {
        end++;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 22:39     Задать указатель
Посмотрите здесь:

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. C++
указатель на указатель или присваивание объекта C++
C++ Как задать указатель для структуры (и не только)
C++ Преобразовать указатель одного типа в указатель другого.
Передать в неуправляемую функцию указатель на указатель C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
21.11.2012, 22:46     Задать указатель #2
C
1
end = str + strlen(str) - 1;
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.11.2012, 22:46     Задать указатель #3
C++
1
2
end = str;
end+=strlen(str)-1;
Может понадобиться подключить cstring.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11837 / 6816 / 771
Регистрация: 27.09.2012
Сообщений: 16,908
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 22:47     Задать указатель #4
Не знаю, быстрее это или нет.
На '\0'
C++
1
2
while(*(end++));
end--;
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
21.11.2012, 22:52  [ТС]     Задать указатель #5
Всем спасибо, вопрос исчерпан
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.11.2012, 22:53     Задать указатель #6
если уж есть массив, то самое быстрое
char str[] = "aa tuuet aa";
char* end = str + sizeof(str) / sizeof(*str) - 2;
std::cout << end << std::endl;
Yandex
Объявления
21.11.2012, 22:53     Задать указатель
Ответ Создать тему
Опции темы

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru