На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 388 389 [390] 391 392 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата D_KEY @
    Взаимоисключающие параграфы.
    Как ты собрался использовать Сишные либы и при этом одновременно с этим работать только в стиле С++?

    Очень просто:
    ExpandedWrap disabled
      std::string mystr = " KILLER ";
      trim( mystr.c_str() );
      std::cout << mystr;

    Заметь, нет тут временных переменных. Так логичнее, так понятнее.
      KILLER, ты так и не объяснил, как ты, собственно говоря, собираешься разрешить писать Сишным функциям в С++ строки.

      Можно пример кода для "правильных" строк в С++?

      Добавлено
      Цитата KILLER @
      Цитата D_KEY @
      Взаимоисключающие параграфы.
      Как ты собрался использовать Сишные либы и при этом одновременно с этим работать только в стиле С++?

      Очень просто:
      ExpandedWrap disabled
        std::string mystr = " KILLER ";
        trim( mystr.c_str() );
        std::cout << mystr;

      Заметь, нет тут временных переменных. Так логичнее, так понятнее.

      Просто великолепно :D
      Какой будет результат mystr.length() после вызова trim и почему?
        Цитата D_KEY @
        KILLER, ты так и не объяснил, как ты, собственно говоря, собираешься разрешить писать Сишным функциям в С++ строки.

        Самый примитивный случай, это когда строка представляет собой массив, для совместимости с С-строками, заканчивающийся '\0', в таком случае, все проблемы сведутся к тому, что придется высчитвать каждый раз size, но зато работать станет удобней. И к тому же это самый примитивный вариант. Второе что приходит в голову, как я уже говорил, это сделать некий метод release, подоие метода auto_ptr::release, который будет отдавать в ручное владение этим массивом/строкой.

        Добавлено
        Цитата D_KEY @
        Просто великолепно
        Какой будет результат mystr.length() после вызова trim и почему?

        Цитата KILLER @
        в таком случае, все проблемы сведутся к тому, что придется высчитвать каждый раз size
          Цитата KILLER @
          Самый примитивный случай, это когда строка представляет собой массив, для совместимости с С-строками, заканчивающийся '\0', в таком случае, все проблемы сведутся к тому, что придется высчитвать каждый раз size, но зато работать станет удобней.

          Не вижу ничего удобного. Зачем это вообще нужно? Проблема будет не только в подсчете размеров, но и вообще в работе со строками. А если у меня '\0' в середине строки?
            Цитата D_KEY @
            Не вижу ничего удобного. Зачем это вообще нужно? Проблема будет не только в подсчете размеров, но и вообще в работе со строками. А если у меня '\0' в середине строки?

            Ахаха... Щас, я щас посмеюсь в доволь, потом найду одну тему в тематике, и ты поймешь нечто! :ph34r:
              Цитата KILLER @
              в таком случае, все проблемы сведутся к тому, что придется высчитвать каждый раз size, но зато работать станет удобней.
              Тебе может и станет удобней, да вот только это будет неудобно для строк размером в несколько сотен мегабайт.


              KILLER, тебе уже давно пора постичь дао С++ - его гибкость превыше всего. Даже твоего желания совместить строки и Сишные АПИ. Если надо - сделай сам. Достаточно простой воркараунд тут уже приводили. Не нравится - переходи на перл или пых, где твоё желание уже реализовано. Только забудь тогда про гибкость - работать с Си-строками там уже не получится никак.
                Цитата KILLER @
                Ахаха... Щас, я щас посмеюсь в доволь, потом найду одну тему в тематике, и ты поймешь нечто!

                Все, я посмеялся, тему с горем пополам нашел, Запись 0 символа, давай вместе покурим эту тему. Сделаем выводы...

                Добавлено
                Цитата Adil @
                Тебе может и станет удобней, да вот только это будет неудобно для строк размером в несколько сотен мегабайт.

                фак мой мозг... Для чего такую строку в памяти хранить? :unsure:
                  Цитата KILLER @
                  Цитата KILLER @
                  Ахаха... Щас, я щас посмеюсь в доволь, потом найду одну тему в тематике, и ты поймешь нечто!

                  Все, я посмеялся, тему с горем пополам нашел, Запись 0 символа, давай вместе покурим эту тему. Сделаем выводы...

                  Добавлено
                  Цитата Adil @
                  Тебе может и станет удобней, да вот только это будет неудобно для строк размером в несколько сотен мегабайт.

                  фак мой мозг... Для чего такую строку в памяти хранить? :unsure:

                  А где ее хранить?
                  Относительно темы - скажи, что там? Я ее плохо помню, но я там вроде утверждал, что нечего нулю делать в строке. Я и сейчас не стал бы так делать, но это не значит, что это неправильно.
                    Цитата D_KEY @
                    А где ее хранить?

                    в файле. Гдеж еще, или по твоему нормально хранить в динамическом массиве строку размером в сотни мегабайт!!! ? Боюсь спросить, а если вдруг резервная копия понадобица(тобишь временный массив), чо копировать все это дело во временный вектор( это еще + сотни мегабайт), так да?

                    Цитата D_KEY @
                    Относительно темы - скажи, что там? Я ее плохо помню, но я там вроде утверждал, что нечего нулю делать в строке. Я и сейчас не стал бы так делать, но это не значит, что это неправильно.

                    А ты почитай на досуге. Там сложно персказать суть, ибо тема представляет из себя сказку "лебедь рак и щука" ...
                    Смысл в том, что некоторые считают вот это:
                    Цитата D_KEY @
                    А если у меня '\0' в середине строки?

                    отнюдь не проблемой.

                    Добавлено
                    Цитата KILLER @
                    отнюдь не проблемой.

                    главное чтобы размер строки равнялся тому кол-ву букв, которое ты хочешь увидеть на экране...
                      Цитата KILLER @
                      фак мой мозг... Для чего такую строку в памяти хранить?
                      Ну если мы не знаем - для чего, то это не значит, что это никому не нужно? Или ты предлагаешь добавить в стандарт пункт - "при хранении в std::basic_string<> строки длиннее 1М символов - программа ill formed"? :)
                        Цитата Adil @
                        Ну если мы не знаем - для чего, то это не значит, что это никому не нужно? Или ты предлагаешь добавить в стандарт пункт - "при хранении в std::basic_string<> строки длиннее 1М символов - программа ill formed"?

                        Не, я ниче не предлогаю, я просто не представляю что можно в такой строке хранить? Войну и Мир? :D
                          Цитата KILLER @
                          в файле. Гдеж еще, или по твоему нормально хранить в динамическом массиве строку размером в сотни мегабайт!!! ? Боюсь спросить, а если вдруг резервная копия понадобица(тобишь временный массив), чо копировать все это дело во временный вектор( это еще + сотни мегабайт), так да?
                          А если файлов (и файловой системы) - нет? :D Мы ведь С++ обсуждаем, а не Визуал Студию?

                          Добавлено
                          Цитата KILLER @
                          Не, я ниче не предлогаю, я просто не представляю что можно в такой строке хранить? Войну и Мир?
                          Ну, логи, например.

                          Добавлено
                          Еще раз повторю, если мы не представляем, для чего это может понадобиться, это не повод считать, что это не понадобится ни когда и ни кому.
                          Сообщение отредактировано: Adil -
                            Цитата Adil @
                            А если файлов (и файловой системы) - нет? Мы ведь С++ обсуждаем, а не Визуал Студию?

                            Например? Может тогда это какая то системщина, и лучше другой ЯП подобрать?

                            Цитата Adil @
                            Ну, логи, например.

                            В памяти? :unsure:

                            Цитата Adil @
                            Еще раз повторю, если мы не представляем, для чего это может понадобится, это не повод считать, что это не понадобится ни когда и ни кому.

                            Не, не спорю, конечно найдеца кул программер, который обязательно сделает так, чтобы всю доступную память использовать под строку. Но что то мне подсказывает, что стандартные строки в таком виде в котором они есть сейчас, его всеравно не спасут в этом случае :D

                            Добавлено
                            Adil, да и вообще, может тогда юзать другой класс для таких целей? не одним же std::string живем всетаки...
                            Сообщение отредактировано: KILLER -
                              Цитата KILLER @
                              Например? Может тогда это какая то системщина, и лучше другой ЯП подобрать?
                              Для системшины другой - не С++ - язык? Однако.
                              Кстати, те же контроллеры часто имеют только ROM и RAM до 512МБ, линукс разворачивается с ROM в RAM, создавая в RAM файловую систему. Хранение в файле бессмысленно, так как равнозначно хранению в памяти.
                              А ещё бывает, что есть и винчестер или USB-флешка подмонтирована. Но постоянно записывать - потребление питания возрастает, записывают редко, отключая девайсы за не надобностью в промежутках между записью.
                              А еще бывает статическая энергонезависимая RAM, работают с ней как с обычной памятью, но зато, если питание девайса пропадёт, эта память получает питание от батарейки и вся инфа на ней сохраняется - в режиме без чтения/записи такая память практически ничего не потребляет и питания обычной компьютерной батарейки хватает на несколько недель.
                              Достаточно примеров?

                              Добавлено
                              Цитата KILLER @
                              Adil, да и вообще, может тогда юзать другой класс для таких целей? не одним же std::string живем всетаки...
                              ну так если это текст, зачем другой то?
                              Сообщение отредактировано: Adil -
                                Цитата Adil @
                                Для системшины другой - не С++ - язык? Однако.

                                Ну наверное больше С подошел бы... ХЗ...

                                Цитата Adil @
                                Кстати, те же контроллеры часто имеют только ROM и RAM до 512МБ, линукс разворачивается с ROM в RAM, создавая в RAM файловую систему. Хранение в файле бессмысленно, так как равнозначно хранению в памяти.
                                А ещё бывает, что есть и винчестер или USB-флешка подмонтирована. Но постоянно записывать - потребление питания возрастает, записывают редко, отключая девайсы за не надобностью в промежутках между записью.
                                А еще бывает статическая энергонезависимая RAM, работают с ней как с обычной памятью, но зато, если питание девайса пропадёт, эта память получает питание от батарейки и вся инфа на ней сохраняется - в режиме без чтения/записи такая память практически ничего не потребляет и питания обычной компьютерной батарейки хватает на несколько недель.
                                Достаточно примеров?

                                ну да, я так и подумал что щас будут перечислять всякие там контроллеры... Я только не пойму, нахрена мне там строка на пару сотен метров нужна?

                                Цитата Adil @
                                ну так если это текст, зачем другой то?

                                Чтобы максимально ускорить работу с девайсом, необязательно же там классы юзать.

                                Я не пойму о чем речь? Причем тут контролеры и std::string? Ну хорошо, используй его в своих контролерах. В чем проблемы?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 388 389 [390] 391 392 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.5198 ]   [ 14 queries used ]   [ Generated: 30.07.26, 10:55 GMT ]