while(strarray[i].size != 0) i++; Насколько верным будет подобное решение? Делаю унификацию отправки склейки из строк, ведущие функции могут выдать как 7 строк в массиве, так и 2. Ай, немного не туда, ну да ладно.

Комментарии: 11

  1. Viacheslav

    i=0; while(strarray[i].size != 0) {i++;} чуть правильней

    • Anonim

      Это все рабочие моменты, больше волнует реакция стд.стринг на указатель пальцем в небо в массиве.

      • Viacheslav

        это если у массива нет sizeof ну а кто мешает и массив изначально обнулить?

        • Anonim

          Не вылечу ли я в hardfault к чертикам. Первые три строки к примеру инициализированы, четвертая и далее - нет. Корректно ли обработаются? Ограниченные знания крестов на отрезок времени

          • Viacheslav

            а это надо смотреть на реализацию метода size. если юзаешь стандартную, то не должно и да, если стандартная, то i=0; while(strarray[i].size() != 0) {i++;} size - это функция ну и да, на всякий: она считает байты, а не символы. и еще одна засада: оно отработает и вернет 2 , если 1, 2 ,4 элементы - строки что-то содержащие, а 3 - пустой. Но вдруг тебе это и надо так

            • Anonim

              Мне нужно до первой непроинициализированной. Блин, в крестоконфе от таких вопросов вываливаются в окно с широко раскрытыми глазами

    • Dolphin

      i=0; while(strarray[(i++)+1].size); еще чуть правильней :)

      • Viacheslav

        А вот тут уже можно начать спорить. При ревью придётся тормознуть и считать плюсики и скобочки, мысленно приводя результат. Имхо не так читабельно

        • Dolphin

          проблемы читающего

Не нашли ответ?

Вам также может быть интересно