В Чём Отличие Ansistring От Char В С++ - Подскажите Новичку

Тема в разделе "Общие вопросы по С и С++", создана пользователем Deterokus, 30 янв 2012.

  1. Deterokus

    Deterokus Гость

    Доброго времени суток, господа!
    Прошу помочь с ответом на вопрос - В чём коренное\принципиальное\глобальное\невероятное\ отличие типа ansistring от char в с++? Пролистал много литературы, во многих изданиях упоминания ansistring нет и в помине, где есть - взял на заметку и ответил. Препод со всем соглашается, но говорит, что есть ещё 1 - то самое, которое я не назвал.
    Буду очень благодарен за просвещение в данном вопросе.
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Так ты нам назови то же что и преподу. Откуда нам знать что он имел в виду.
    ansistring - это строка, а char - это символ, один байт. Может это он имел в виду?
     
  3. Deterokus

    Deterokus Гость

    То, что Вы назвали - сказал.
    Также сказал, что
    1. char имеет от 0 до 255 значений, в отличие от ансистринга
    2. При работе со строкой - для её изменения она удаляется и создаётся уже новая
    3. У строки символы нумеруются с 1, а не с 0, как у чара
    Завтра ещё скажу, что Особенностью строки является то, что два экземпляра этого класса могут физически занимать один и тот же участок памяти. Экземпляр этого класса содержит счетчик ссылок к нему, когда этот счетчик обнуляется, экземпляр автоматически уничтожается.

    Препод также дал подсказку, что ответ стоит искать в истории этого типа, как он создавался, с чего всё началось и т.д.
    Также, что разгадка кроется конкретно в свойствах этого типа(1 из них %)).
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Нет, тип char может хранить в себе только одно значение от 0 до 255 включительно. Не путай с указателем на строку char *.

    А вообще хрен его знает что он имеет в виду. Может вот тут сможешь найти ответ: http://www.delphi-box.ru/view_post.php?id=63
     
  5. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Как я понял суть вопроса втом что человек не может найти информацию в С++ про тип данных AnsiString. А какое отношение тип AnsiString имеет к С++?????
    AnsiString это тип данных в С++BUILDER точнее говоря класс(созданный на том же char, c темиже функциями strstr, strcpy, и т.д только с перегрузкой операторов)
    Создай свой класс со своим именем перегрузи все операторы и создай несколько функций вот и будет тотже ansistring.
     
  6. Deterokus

    Deterokus Гость

    На предмете мы работаем в билдере, отсюда и такие вопросы.
    С тем вопросом разобрались. Отличие заключалось в том, что char - только лишь массив информации. А ansistring рассматривается как полноценный оператор со своими функциями и методами(c_str).
    Сейчас же уже требуется рассказать, что собой представляет собой ansistring.
    Вопрос на данный момент такой: Что есть у объектов типа ansistring? Я так понял, что это - Атрибуты, методы и ... Что 3-е?
     
  7. qqwertty

    qqwertty Гость

    3-е - может свойства?
     
  8. prom

    prom Гость

    AnsiString - чисто билдеровское изобретение для работы со строками. Кстати очень удобное, потому как естественное.
    Исчерпывющая информаия здесь http://promsite.us/AnsiString_1.html
     
Загрузка...

Поделиться этой страницей