|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.03.2009, 02:34 | #1 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 12
|
FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1]) { strcpy(m_psz, psz); }
В одной из книг встретил код:
Код:
Последний раз редактировалось MaTBeu; 27.03.2009 в 23:46. |
27.03.2009, 02:58 | #2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Код:
После двоеточия идет предопределение(инициализация аргументов) - выделение памяти в m_psz(это член класса). Ну а дальше функция копирует строку из аргуметов в строку - член класса. Вот для примера, есть у вас класс: Код:
a=1 b=2 c=3 Это такая синтаксическая уловка
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось Ivan_32; 27.03.2009 в 03:02. |
27.03.2009, 03:10 | #3 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 12
|
Спасибо!!!
Зачем нужен такой синтаксис если это можно выполнить просто записав a=1; b=2; c=3; в фигурных скобках конструктора? Давно ли такой синтаксис стал использоваться? Я не встречал нигде пояснений насчет этого. |
27.03.2009, 03:43 | #4 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
В обще такая запись предназначена для предопределения конструкторов в теле класса, для случаев когда в теле конструктора кроме инициализации ничего нет. Для примера:
Код:
К тому же С++ это язык больших возможностей, на нем много разных стилей есть А Макросы #define помогут расширить эти стили
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось MaTBeu; 27.03.2009 в 23:46. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
char в wchar_t | softrix | Общие вопросы C/C++ | 5 | 08.11.2010 15:40 |
Ошибка cannot convert from 'char *' to 'char [100]' | Stellvertreter | Общие вопросы C/C++ | 5 | 30.05.2010 00:02 |
отличие char* str ="..." от char ...[]="..." | StarWorm | Общие вопросы C/C++ | 2 | 20.11.2008 08:48 |
из char в int?? | Mika | Общие вопросы C/C++ | 4 | 20.06.2008 15:18 |
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql | Muahahaha | PHP | 8 | 27.03.2008 11:17 |