Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonНу... прежде всего надо формализовать список в понимании ФП. И дать возможность толкать в него микс из типов.Зачем??? У тебя есть хоть одна задача требующая списка переменных разных типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 18:12 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
White OwlУ тебя есть хоть одна задача требующая списка переменных разных типов? Даже если и найдется, то окажется что просто лень было сделать структуру и дать нормальные имена полям )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 18:41 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
White OwlА когда я пишу собственный класс для строк, я его делаю на основе юникода (с наследованием от ICU) и никакие std::w?string мне не нужны вообще. Ну а мне нужны были, когда я один и тот же исходник собирал в ansi и wide. В этом и суть С++, если вам что-то не нужно, то вы его не используете, а если нужно, то оно просто есть, без выламывания себе рук )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 18:47 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
alexy_blackвот например строка. с одной стороны, я бы хотел, чтобы это был набор символов, но это не так. то есть в плюсах std::string - это контейнер char, но символы не влезают в char.. Грустно видеть, что многие "закомплексованы" некоими МОНОЛОЛИТНЫМИ СТАНДАРТАМИ ..., которые признаны ЛУЧШИМИ И НЕОСПОРИМЫМИ /template, STL, объекты, ООП, ... в стиле а-ля C++/. Также наблюдая за ходом обсуждения многих тем /вопросов/, для многих существующие "стандарты" являются ВЫСОКИМ ЗАБОРОМ, который не позволяет им заглянуть за него и понять, что существую и иные подходы к разрешению вопросов ... Строки ... /огромная тема. А если коснуться алгоритмов поиска данных в строках ... О-о-о .../ Далее немного об строках и кодировках. Не буду останавливаться на "родословной" кодировок ... /почему первые тридцать два символа управляющие и необходимость каждого из них ... и др. особенностях "устройства" кодировок/. Сначала об "буквах" . В многих странах имеются свои особенности написания, произношения слов. К примеру /на вскидку/ в Германии некоторые сочетания пары букв считаются одной буквой /которой в алфавите, то и нет/. При этом эти "национальные" /locale/ особенности должны быть учтены при разработке библиотек для работы с строками. Можно ли спроектировать архитектуру строк, которая бы учитывала "национальные" их особенности и др. моменты? Да. ИМХНО должен быть разработан некий RFC представления строк . Скорее всего этот RFC должен содержать описание назначения мета данных и правил их использования. За основу представления букв скорее всего лучше взять UTF16. Набор мета данных и их представление описывать не буду. Но очень важно то, что мета данные дадут разработчикам библиотек информацию об "национальных" особенностях представления строк и тем самым не вдаваясь /и даже ни чего не зная об них/ разработать библиотеки для работы с строками, функциональность которых будет заведомо правильная для любого humane language. Более того мета данные дадут даже такую важную информацию как продолжительность произношения звуков /в виде строк можно будет даже записать "речь" шимпанзе .../. Далее намек ... /для тех кто поймет о чем речь/. Meta данные позволили бы предоставить данные и упорядочивании букв в каком-либо алфавите /даже возможность неких exclusive требований/. PS: Здесь не говорилось об native формате представления строк ... /struct, .../ Некоторые скажут - "С таким форматом замучаешься" ... Ан нет. Вспомните, что мы используем meta данные. Как же представить "стандартные" форматы <string>, std::string, ...? Да просто. Meta символ указывает на тип строки, за которым следует сама строка. PS2: Кто выльет первое ведро помоев, тот удостоится моего персонального приза - " Заслуженный участник форума ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 19:19 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012, какие другие подходы вы подразумеваете? lips? я вобще не об этом. я о том, что в случаи со строками выбор шаблона может быть оправданным. то есть это одна из возможных хороших реализаций. тут как бы упор не на строки, а на шаблоны :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 20:09 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Ынтырпрайзыч(тм), культура речи на высоте, а по существу что-то скажешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 20:51 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
alexy_blackВладимир2012, какие другие подходы вы подразумеваете? lips? я вообще не об этом. я о том, что в случаи со строками выбор шаблона может быть оправданным. то есть это одна из возможных хороших реализаций. тут как бы упор не на строки, а на шаблоны :)Не Lisp и др. языки программирования важны сами по себе ... Для меня они прежде всего важные в аспекте тех идей и подходов, которые предоставили эти языки программирования ... Вы говорите о каких подходах речь? Разве здесь может быть какой-то однозначный ответ? Имеется огромное количество алгоритмов, ... разработанных другими. Нужно ли их и как и в каком случае лучше использовать сложный вопрос ... Да и не каждому это нужно ... Обычно задачи можно разделить на "системные" /результатом которых могут воспользоваться другие/ и пользовательские /создание программ на основе разработанных кем-то ранее libraries/. Не призываю кого-либо к тому, чтобы "все и вся критиковать и неизвергать" и тем более стремиться создать что-то на противность всем, только чтобы оно было "СВОЕ" и якобы "ЛУЧШЕЕ" ... PS: Не знаю, что вам и ответить ... Все зависит от каждого из нас. Одним "по душе" создание libraries, ... - системщики. Другим прикладной софт - большинство. "Все мы люди нужные, необходимые ..." [spoiler]Снежная королева, 1966 г. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 20:53 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskymaytonТакое должно работать. Код: plaintext 1. Пожалуйста Код: plaintext 1. Ну что-ж защитано. Правда мне нужно много чего делать со списками. Брать голову. Хвост. И много других фундаментальных операций из ФП. Мне также надо чтобы я рационально использовал память в рамках доступных мне возможностей. Кстати. А как переводится tuple? Кортеж? Есть-ли какие-либо различия между списком и кортежем. Для меня это важно т.к. эффортит. Эффортит либо на производительность либо на возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 21:38 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Вася УткинС шаблонами (compile time polymorphism) при несоответствии типов будет ошибка компилятора, а без шаблонов с RTTI (runtime polymorphism) не будет ошибки компилятора. Очевидно же что RTTI лучше, т.к. нет ошибки Вообще компилятора не должен выдавать ошибки, тогда все программы будут правильными. Вась. Согласись что статическая проверка сработает только в рамках одного бинарника. А если мы создаем по настоящему гетерогенное приложение (много модулей взаимодейсвуют) то нам все равно нужно в рантайме что-то проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 21:41 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
White OwlmaytonНу... прежде всего надо формализовать список в понимании ФП. И дать возможность толкать в него микс из типов.Зачем??? У тебя есть хоть одна задача требующая списка переменных разных типов? Есть. У меня много хотелок. Например я хочу рассматривать любой объект как список свойств и единообразно сериализировать-десериализировать и выполнять общие операции ORM-маппинга. Классическая парадигма требует хардкода. А представление списком - унифицирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 21:42 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyWhite OwlА когда я пишу собственный класс для строк, я его делаю на основе юникода (с наследованием от ICU) и никакие std::w?string мне не нужны вообще. Ну а мне нужны были, когда я один и тот же исходник собирал в ansi и wide. В этом и суть С++, если вам что-то не нужно, то вы его не используете, а если нужно, то оно просто есть, без выламывания себе рук )) КМК кейс с собственным подсчетом количества символов - это "птичье молоко". Я думаю что большинство из нас проживут длинную и счастливую жизнь с Unicode (utf-16) и никогда не столкнуться с теми ужасами котрые описывает Анатолий. Пожалуй если-б я наступил на подобный грабель - то имплементил-бы кастом-библиотеку для поддержки строк с кодовыми точками. Но я-бы не возводил их в ранг правила. Да и нет здесь правила. Меня устраивает строка в сущесвтующем определении. Определение Анатолия мне не по душе равно как и не по душе "натяжка" с подсчетом длинны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 21:46 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonникогда не столкнуться с теми ужасами котрые описывает Анатолий Ну да. Большинство повезло и они никогда не столкнется с WinAPI где как раз и есть два варианта АПИ ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 22:06 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonЕсть-ли какие-либо различия между списком и кортежем Кортеж - это структура (с о списком полей заданным при компиляции). А список это коллекция однородных элементов . Ну а гетерогенную коллекцию надо обосновать конечно. Скорее всего это баг дизайна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 22:12 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonВася УткинС шаблонами (compile time polymorphism) при несоответствии типов будет ошибка компилятора, а без шаблонов с RTTI (runtime polymorphism) не будет ошибки компилятора. Очевидно же что RTTI лучше, т.к. нет ошибки Вообще компилятора не должен выдавать ошибки, тогда все программы будут правильными. Вась. Согласись что статическая проверка сработает только в рамках одного бинарника. А если мы создаем по настоящему гетерогенное приложение (много модулей взаимодейсвуют) то нам все равно нужно в рантайме что-то проверять. Т.е. раз не можешь создать рай везде, то пусть везде будет ад? Главное что правильно будет работать мой софт и софт тех у кого хватило разобраться с шаблонами. Ну а остальные будут жаловаться на все технологии, какие им не дай ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 22:42 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
mayton, Utf-16 — инвалид если что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 23:18 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Изопропилmayton, Utf-16 — инвалид если что Чо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 23:56 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonЧо?Потому что он создает впечатление что каждый символ занимает 2 байта. И исходя из этой ложной мысли написаны мегатонны бажного софта. Намного честнее utf-8. Там изначально понятно что символы переменной длины, и ни у кого ненужных фантазий не возникает. Не говоря уже об удобстве и обратной совместимости с ASCII. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 00:18 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonИзопропилmayton, Utf-16 — инвалид если что Чо? Ни то ни сё Вполне безобидные символы могут кодироваться суррогатными парами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 00:22 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012Можно ли спроектировать архитектуру строк, которая бы учитывала "национальные" их особенности и др. моменты? Консорциум юникода - рекомендую. ИМХНО должен быть разработан некий RFC представления строк Вагон . Опять-таки - рекомендую ознакомиться.За основу представления букв скорее всего лучше взять UTF16.Не надо решать давно решённую задачу. Основная кодировка - UFT8. Всё остальное - старорежимные отрыжки.PS: Здесь не говорилось об native формате представления строк ... /struct, .../А какого лешего вы тогда UTF16 упомянули??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 10:23 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovА какого лешего вы тогда UTF16 упомянули???В предложенном формате строки используются meta данные и char в некоторой кодировке. В качестве основной кодировки предложил использовать UTF16 так как символ любой кодировки можно представить в виде двух байтового значения и тем самым упростить манипуляции ними /не зря Microsoft выбрала именно UTF16/. Но безусловно meta данные могут указывать на то, что далее идут chars некоторой кодировки /например UTF8/. Какие из RFC определяют правила представления "универсального" формата строк? Вообще то все RFC определяют некоторый "стандарт", используемый при решении некоторой задачи. Универсальных RFC нет. Поэтому чем чаще разработчики будут что-либо "изобретать" тем чаще будут появляться новые RFC. PS: Предложенный формат формат представления строк в основном был направлен к тому, чтобы обратить внимание, что даже в таком вопросе как представление строк возможно спроектировать множество форматов их представления. И опять таки не с целью отвергнуть то, что кем то уже сделано, а в случае если для проекта требуется именно exclusive формат. В связи с этим не думаю, что имеет смысл обсуждать предложенный мной формат представления строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 11:49 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012/не зря Microsoft выбрала именно UTF16/. cp1251, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 11:56 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
alexy_blackcp1251, не?Наш любимый TCHAR Что такое TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR (итд) https://habrahabr.ru/post/164193/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 12:06 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Владимир2012В качестве основной кодировки предложил использовать UTF16 так как символ любой кодировки можно представить в виде двух байтового значенияЯ, по вашему, просто так дал ссылку на юникод? сделайте плакат на стенуВ кодовой точке - 21 бит Символ юникода даже в базовой плоскости может состоять из нескольких кодовых точек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 12:19 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНе хочется комментировать, но, раз уж вы так настаиваете - зря. Очень зряНе настаиваю ... Но если вы приведете аргументы в преимущество использования UTF8 вместо UTF16, то буду рад. При разработке для WWW использую только UTF8. Для десктоп - TCHAR. Basil A. SidorovЯ, по вашему, просто так дал ссылку на юникод?Кодовая точка это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 12:28 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39303100&tid=2018431]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 294ms |
| total: | 470ms |

| 0 / 0 |
