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

Можно ли переписать фрагмент кода - C++

Восстановить пароль Регистрация
 
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
05.08.2013, 14:50     Можно ли переписать фрагмент кода #1
Можно ли переписать строки 9 и 10:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void String::operator+=(const String& rhs)
{
    unsigned short rhsLen = rhs.GetLen();
    unsigned short totalLen = itsLen + rhsLen;
    String temp (totalLen);
    int i,j;
    for (i=0; i<itsLen; i++)
        temp[i] = itsString[i];
    for (j=0, i=0; j<rhs.GetLen();j++, i++)
        temp [i] = rhs[i-itsLen];
    temp[totalLen]='\0';
    *this = temp;
}
так:
C++
1
2
for (i=0; i<rhs.GetLen();i++)
        temp [i] = rhs[i-itsLen];
?
Не понимаю смысла использования дополнительного j. Зачем усложнять программу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2013, 14:50     Можно ли переписать фрагмент кода
Посмотрите здесь:

C++ Объяснить фрагмент кода
фрагмент кода C++
Объясните, что делает фрагмент кода C++
C++ Обьяснить фрагмент кода
Объясните фрагмент кода! C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
05.08.2013, 14:59     Можно ли переписать фрагмент кода #2
да можно )
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6159 / 2888 / 282
Регистрация: 04.12.2011
Сообщений: 7,686
Записей в блоге: 3
05.08.2013, 15:29     Можно ли переписать фрагмент кода #3
Не компилировал, но как вариант хода мысли:
C++
1
2
3
4
for (j=itsLen, i=0; j<totalLen ; j++, i++)
        temp [j] = rhs[i];
       *this = temp;
}
Тут дело личное, но мне кажется что строка вроде:
C++
1
 temp[totalLen]='\0';//
не нужна. Потому что в конструкторе с параметром который вызывается :
C++
1
String temp (totalLen);
всё равно придётся выделить память под totalLen+1 элемент (char или wchar_t ) и уже там можно забить последний символ терминатором (грозно звучит)), так как без него смысла всё равно нет, если с си-строкой, внутренне, имеем дело.
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
05.08.2013, 17:00  [ТС]     Можно ли переписать фрагмент кода #4
Я откомпилировал. Работает! Интерестный способ реализации!
IGPIGP
05.08.2013, 17:09     Можно ли переписать фрагмент кода
  #5

Не по теме:

Цитата Сообщение от Erjay Посмотреть сообщение
Работает!
Правда? Это случайно.
Но всё равно радостно.

Yandex
Объявления
05.08.2013, 17:09     Можно ли переписать фрагмент кода
Ответ Создать тему
Опции темы

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