powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / конкатенация строки в одну переменную
25 сообщений из 60, страница 2 из 3
конкатенация строки в одну переменную
    #39481187
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481359
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbнедоязыках

У каждого свой любимый фломастер. По этому выбирайте слова правильно. Особенно если вы не очень разборчивый человек.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481374
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159P.S. а что говорить а Питоне, в котором чтоб написать цыкл от 1 к 100 нужно использовать массив от 1 к 100. Это ж как интересно на машинном коде все будет работать?))))) На этом уроке я и закончил свое обучение начал гуглить все о скорости Питона и сравнении. Сам потестил также. Ой и медляра... Логика не подвела. Но рейтинг языка зашкаливает. Так и не понял в чем прикол популярности.
Я не думаю что Питон будет обязательно создавать массив. Скорее всего эта метафора
разворачивается в ленивый генератор последовательности.

Как на "машинном коде будет все работать" - это еще более холиварный вопрос. Скорее всего никак
т.к. машинного кода нет а есть "байт-код". (Здесь я возможно ошибаюсь т.к. давно не связывался
с этой змейкой. Вобщем пускай знающие прокомментируют где и на какой фазе рантайма или компилляции
мы получим машинный код. А пока я считаю в соотв. со сведениями из wiki что Python - интерпретатор
байткода).
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481412
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TТы пойми что A+B+C это сначала выделить память под A+B, затем выделить под (A+B) + СА если применить move-семантику, может можно ещё быстрее сделать - фрагментированную строку. В неё можно и вставку внутрь делать очень быстро любых размеров данных.
Sergey_rbнедоязыкахс++ доязык
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481414
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbА почему во всех недоязыках можно просто склеить через + или другой символ, а в брутальном С++ нельзя?


можно, просто ты не умеешь....
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481415
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159. Но рейтинг языка зашкаливает. Так и не понял в чем прикол популярности.

в том , что действительно быстрые программы нужны лишь в порядка 20 % случаев.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481498
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivSergey_rbА почему во всех недоязыках можно просто склеить через + или другой символ, а в брутальном С++ нельзя?


можно, просто ты не умеешь....

На предыдущей странице было написано, что нельзя.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39481532
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbА почему во всех недоязыках можно просто склеить через + или другой символтам, под строками, скорее всего скрыт механизм, который в общем случае можно назвать variant, который сам с собой можно складывать, при этом он может формально представлять разные типы. Ну ты может тоже использовать _variant_t тип.
Sergey_rbНа предыдущей странице было написано, что нельзя.где?
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482106
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати на каждый вопрос о конкатенации строк я люблю задавать другой вопрос.

А что будет дальше с результатом? Он будет отдан в stream?

Вообще каков КПД "конкатенации" как алгоритма?
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482144
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВообще каков КПД "конкатенации" как алгоритма?
логично же: O(A+B)
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482153
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте сделаем O(1).
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482157
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте сделаем O(1).
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482173
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мой вариант с фрагментированной строкой не прокатил?
Конкатенация O(1)
Сброс в буфер O(N)
Сброс в строку O(N) - хотя тут надо подумать.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482188
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо еще подумать про базовый набор операций типа substr, replace e.t.c.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482205
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНадо еще подумать про базовый набор операций типа substr, replace e.t.c.

Да, начните таки думать о том, что давно уже сделано другими!
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482207
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКстати на каждый вопрос о конкатенации строк я люблю задавать другой вопрос.

А что будет дальше с результатом? Он будет отдан в stream?

Вообще каков КПД "конкатенации" как алгоритма?

Он будет отправлен на HTTP сервер в качестве запроса.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482209
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbДа, начните таки думать о том, что давно уже сделано другими!мы как раз о том, что другими не сделано
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482223
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbSergey_rbДа, начните таки думать о том, что давно уже сделано другими!мы как раз о том, что другими не сделано

Если это другими еще не сделано, значит это никому не нужно, но вы продолжайте думать, продолжайте...
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482224
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте сделаем O(1).
придётся как-то сделать без операции копирования, которая и даёт O(len(A)+len(B))
но даже c rope (верёвкой) будет логарифм
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482260
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)придётся как-то сделать без операции копирования, которая и даёт O(len(A)+len(B))
но даже c rope (верёвкой) будет логарифмMS у CString сделало копированием просто адреса строки, O(1) Ну и они как-то там следят за изменением обеих "копий", да.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482379
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbMS у CString сделало копированием просто адреса строки, O(1) Ну и они как-то там следят за изменением обеих "копий", да. мы вроде бы о сложении персистентных строк говорим
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482814
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте я очерчу парадигму.

1) Необходимо разработать строковый тип данных, обеспечивающий максимальную пропускную способность
операций конкатенации (+) или concat.

2) Для удобства использования и для исключения конфликтов пускай он называется lstring (Lazy-String).

3) Реализация должна использовать принцип "ленивых вычислений". То есть в цепочке операций

Код: plaintext
1.
lstring s = s1 + s2 + ..... s100;



мы не делаем 100 конкатенаций а мы просто накапливаем список операций. До тех пор пока не будет
вызван явный процесс получения строки результата из интерфейса lstring.

4) Операции вывода в stream определяются для "списка операций".

5) Прочие строковые операции такие как length(), substr(), replace() также адаптируются
к "ленивой" парадигме. Например расчет length() не требует явного перерасчета s.

Для метода substr() также применяется логика отбрасывания ненужных операций.

6) Прочий API (работа с регулярками) адаптируется к stream исходной строки таким-же образом.
Сюда-же идут файловые операции и фасады для работы с консолью (printf, puts)

7) API отображения (map) наподобие .toUpper(), .to(Lower) также адаптируется к stream
результату без явного преобразования в строку.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482831
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)maytonДавайте сделаем O(1).
придётся как-то сделать без операции копирования, которая и даёт O(len(A)+len(B))
но даже c rope (верёвкой) будет логарифм
Большое спасибо Руслан что вы напомнили мне о такой замечательной структуре данных как Rope(DataStructure).
Лежит в списке на прочтение. Но думаю что в данной задаче мы пока начнем что-то решать без верёвки.
Оставим на десерт когда все простые решения будут исчерпаны. Я верю что R/B-tree, hashmap, и LRU нас
спасали последние лет 50 в информатике и вычислительной технике и сейчас спасут.
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482833
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

что это даст сообществу?
...
Рейтинг: 0 / 0
конкатенация строки в одну переменную
    #39482836
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbmaytonНадо еще подумать про базовый набор операций типа substr, replace e.t.c.

Да, начните таки думать о том, что давно уже сделано другими!
Милостивый государь! Я думаю что ваше восклицание требует определённых пояснений.
Что имелось в виду?
Какими "другими" ?
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / конкатенация строки в одну переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]