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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Nesh
3 / 3 / 0
Регистрация: 25.06.2009
Сообщений: 95
#1

перегрузка операторов - C++

25.10.2012, 07:50. Просмотров 1085. Ответов 20
Метки нет (Все метки)

Всем привет. Дошел до темы перегрузки операторов и возникло два вопроса.
Первый:
Чем отличается вот этот код
C++
1
2
3
4
5
6
7
8
9
10
String  String::operator+=(const String other)
{
    char *c_str = new char[str_size + other.str_size + 1];
    strcpy(c_str, str);
    strcat(c_str, other.str);
    delete[] str;
    str = c_str;
    str_size = str_size + other.str_size; 
    return *this;
}
От этого
C++
1
2
3
4
5
6
7
8
9
10
String & String::operator+=(const String &other)
{
    char *c_str = new char[str_size + other.str_size + 1];бо
    strcpy(c_str, str);
    strcat(c_str, other.str);
    delete[] str;
    str = c_str;
    str_size = str_size + other.str_size; 
    return *this;
}
Различия только в ссылках, Но работает вроде одинаково что в первом что во втором случаях.
И второй:
Зачем возвращать указатель на текущий объект?
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2012, 16:38     перегрузка операторов
Еще ссылки по теме:

Перегрузка операторов C++
C++ Перегрузка операторов
Перегрузка операторов C++
C++ Перегрузка операторов
C++ Перегрузка операторов С++

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

Или воспользуйтесь поиском по форуму:
Nesh
3 / 3 / 0
Регистрация: 25.06.2009
Сообщений: 95
10.11.2012, 16:38  [ТС]     перегрузка операторов #21
То есть это все для производительности. Все понял. Спасибо большое.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
10.11.2012, 16:38     перегрузка операторов
Ответ Создать тему
Опции темы

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