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

Что означает символ *? - C++

Восстановить пароль Регистрация
 
maksot
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 8
31.01.2013, 20:14     Что означает символ *? #1
Что означает символ *?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
31.01.2013, 20:15     Что означает символ *? #2
*- умножение
*p- указатель
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
31.01.2013, 20:25     Что означает символ *? #3
/* */ комментарий
а если оператор * перегружен, так вообще может быть что угодно.
конкретный вопрос с примером программы где???
maksot
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 8
31.01.2013, 20:33  [ТС]     Что означает символ *? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
 
int main()
{
    char str[256];
    cin.getline(str,256);
    char* ptr=strtok(str," .,!?");
    char* max=ptr;
    do{
          if(strlen(max)<strlen(ptr))
            max=ptr;
            }while(ptr=strtok(NULL," .,!?"));
    cout<<max;
    system("pause>0");
    return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
31.01.2013, 20:55     Что означает символ *? #5
ЭТО поиск максимального слова в строке




Немного не в тему: кстати, я только сейчас проверил, что strtok вставляет в строку нулевые символы чтобы strlen и прочие, кто будет обращаться к токенам корректно работали.
Вот только это же портит исходную строку!!! Разве так можно?

Добавлено через 3 минуты
ptr - указатель на начало очередного слова, то есть подстрока.
max - указатель на начало максимального из встретившихся слов.

Добавлено через 4 минуты
звёздочка здесь - это объявление указателя
char* ptr; - указатель на символ. Конкретнее на строку символов.
если взять *ptr - то это наоборот будет разыменование указателя. Т.е. Получишь ту букву(символ), на который указывал ptr
maksot
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 8
31.01.2013, 20:56  [ТС]     Что означает символ *? #6
а вы можете написать прогу для нахождения max слова,
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
31.01.2013, 20:58     Что означает символ *? #7
А эта чем тебя не устраивает? Отличная прога! (правда юзинг неймспейс не хватает)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
char str[256];
cin.getline(str,256);
char* ptr=strtok(str," .,!?");
char* max=ptr;
do{
if(strlen(max)<strlen(ptr))
max=ptr;
}while(ptr=strtok(NULL," .,!?"));
cout<<max;
system("pause>0");
return 0;
}

Не по теме:

И не выкай мне тут, пожалуйста!

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11838 / 6817 / 771
Регистрация: 27.09.2012
Сообщений: 16,909
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 22:18     Что означает символ *? #8
Что касеется strtok, то документацией по данной функции оговорено то, что она портит переданную строку, так что, если строка еще нужна, то передавать в нее нужно копию.
Что касается
C++
1
using namespace std;
то лично мое мнение - в топку его.
Nikcharn
 Аватар для Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
31.01.2013, 22:22     Что означает символ *? #9
Цитата Сообщение от Croessmah Посмотреть сообщение
то лично мое мнение - в топку его.
В совсем маленьких программах, как здесь - удобная вещь.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11838 / 6817 / 771
Регистрация: 27.09.2012
Сообщений: 16,909
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 22:25     Что означает символ *? #10
Цитата Сообщение от Nikcharn Посмотреть сообщение
В совсем маленьких программах, как здесь - удобная вещь.
Бесполезная. И врядли меня кто-то переубедит, так что у каждого своя точка зрения по этому поводу.
Nikcharn
 Аватар для Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
31.01.2013, 22:41     Что означает символ *? #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Бесполезная. И врядли меня кто-то переубедит, так что у каждого своя точка зрения по этому поводу.
Смотрите на это так:
новичкам обычно трудно разобраться в коде, когда он загромажден разными std::, и т. д.
Имхо, когда уже в программировании смыслишь это без разницы. Обычно это новичкам и суют.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2013, 10:37     Что означает символ *?
Еще ссылки по теме:

Что означает C++
Что означает %d C++
C++ Что означает for(;;)

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

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.02.2013, 10:37     Что означает символ *? #12
Не надо считать новичков тупыми. Просто объяснять надо сразу, что такое пространства имён, зачем они нужны и как их сделать самому, а не "такая фигнюшка, чтоб всё заработало, не думай об этом, потом расскажу".

В using ничего плохого в общем-то нет. Если 1) НИКОГДА не использовать его на глобальном уровне в хедерах; 2) очень аккуратно использовать в не включаемых никуда Си-файлах (чем больше в них всякого кода, тем сложнее оставаться аккуратным); 3) идеальное место для него: прямиком внутри функции. Об этом тоже все молчат, почему-то думая, что это такое же заклинание, как и #include, которое надо писать обязательно где-то в начале.
Yandex
Объявления
01.02.2013, 10:37     Что означает символ *?
Ответ Создать тему
Опции темы

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