L
lebedun
В одной из книг встретил код:
Подскажите пожалуйста. Не могу понять строку FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1]) { strcpy(m_psz, psz); } , а точнее что это за двоеточие и то что за ним следует. Перерыл все. Так и не нашел.
И еще.
Каким образом в конце слова оказалось const?
int FastString::Length(void) const
Код:
// 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