Прошу помощи по синтаксису С++

Тема в разделе "Общие вопросы по С и С++", создана пользователем lebedun, 27 мар 2009.

  1. lebedun

    lebedun Гость

    В одной из книг встретил код:

    Код (Text):
    // faststring.h
    class FastString {
    char *m_psz;
    public:
    FastString(const char *psz);
    ~FastString(void);
    int Length(void) const;
    // returns # of characters
    // возвращает число символов
    int Find(const char *psz) const;
    // returns offset
    //возвращает смещение
    };



    // FastString.cpp
    #include "faststring.h"
    #include <string.h>

    FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1])
    { strcpy(m_psz, psz); }

    FastString::~FastString(void)
    { delete[] m_psz; }

    int FastString::Length(void) const
    { return strlen(m_psz); }

    int FastString::Find(const char *psz) const
    {
    //O(1) lookup code deleted for> clarity1
    // код поиска 0(1) удален для ясности
    }
    Подскажите пожалуйста. Не могу понять строку FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1]) { strcpy(m_psz, psz); } , а точнее что это за двоеточие и то что за ним следует. Перерыл все. Так и не нашел.
    И еще.
    Каким образом в конце слова оказалось const?
    int FastString::Length(void) const
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Да не смешите! В любой нормальной книге все это описывается
    За двоеточием следует список инициализации членов класса
    const в конце объявления метода класса говорит о том, что данный метод не изменяет члены класса, за исключением членов объявленных как mutable
     
Загрузка...
Похожие Темы - Прошу помощи по
  1. webwareroot
    Ответов:
    1
    Просмотров:
    145
  2. virusksv
    Ответов:
    2
    Просмотров:
    1.199
  3. beloff
    Ответов:
    5
    Просмотров:
    1.849
  4. nemo85
    Ответов:
    3
    Просмотров:
    1.477
  5. xavi
    Ответов:
    1
    Просмотров:
    1.840

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