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

Станное поведение указателя - C++

Восстановить пароль Регистрация
 
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
06.02.2013, 05:14     Станное поведение указателя #1
Пробовал "отладить" код и натолкнулся на грабли (см. комментарии):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void itoa(long n, char* str)
{
    char *s = str;
 
    while (n) {
        *s++ = n % 10 + '0';
        n /= 10;
    }
    *s = '\0';
    // std::cout << s; // не отображается, но почему?
    // std::cout << str; // всё ок
 
    int temp;
    --s;
    for (char* z = str; s > z; --s, ++z) {
        temp = *z;
        *z = *s;
        *s = temp;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 05:14     Станное поведение указателя
Посмотрите здесь:

C++ Перезаписать память начиная с указателя Bitmap[1] элементами начиная с указателя Bitmap[0]
странное поведение указателя C++
C++ Возврат указателя
удаление указателя C++
C++ Копирование указателя
передача указателя C++
инициализация указателя C++
Странное поведение указателя C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
06.02.2013, 05:35     Станное поведение указателя #2
Цитата Сообщение от xtorne21st Посмотреть сообщение
C++
1
// std::cout << s; // не отображается, но почему?
Отображается пустая строка, потому что s указывает на послений символ строки: '\0'.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
06.02.2013, 12:26  [ТС]     Станное поведение указателя #3
Цитата Сообщение от gray_fox Посмотреть сообщение
Отображается пустая строка, потому что s указывает на послений символ строки: '\0'.
Ну так я ж не ображаюсь непосредственно к разименованому объекту *s

Добавлено через 5 минут
Да, пожалуй вы правы, просто раньше не особо обращал внимание на подобного рода вещи.
Yandex
Объявления
06.02.2013, 12:26     Станное поведение указателя
Ответ Создать тему
Опции темы

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