Вы правы: в строгом смысле строки в си отсутствуют.
Но практически в любой программе они присутствуют так же, как и присутствуют другие понятия реальной задачи как килограммы, метры, деньги, идентификаторы и прочие прикладные понятия.
И если замена килограммов на double имеет некоторые грабли (например в виде отрицательных значений массы), то замена строк на char * имеет массовые и массивные грабли в силу самой попытки использовать char * (или char []).
На месте авторов языков я бы ввёл два строковых типа — короткие в 255 символов без гемора с malloc и длинные с таковым. Плюс механизмы взаимного перевода между этими типами с соответствующими проверками.
Вы ведь согласитесь с тем, что 255 символов в 95% случаев устроили бы прикладные задачи? Да и операции вроде преобразования адреса в фамилию или аннотации в город чрезвычайно редко встречаются в жизни.
P.S. ладно, для денег не требую вводить отдельный вещественный тип. Хотя тоже неплохо бы ;-)
Славные грабельки :-)
«За свободу надо платить отвественностью» вкупе с «Незнание не освобождает от ответственности».
Собсна меня в си практически всё устраивает, кроме строк. Как говорил Спольски «история развития си++ может быть проиллюстрирована исторей борьбы с изначально идиотскими строками си».
Особенно чудесно заморочен Борман — есть TString и есть AnsiString, и для оперирования ими приходится извращаться.
Эх, если бы не строки… С остальной памятью я уж как нть разберусь.
А я в силу своего хобби часто матерюсь «ki-61», «mg 151/20», «швак», «wfr.gr.21», «ла-5ф», «kinsei-43», а иногда даже «cv-12», «pzkpfw.4h» или «zuikaku». :-(
Company of Heroes, Axis and Allies для «зольдатенов, мечтающих стать женералями».
SSI Flanker/A-10/Ka-50 для «пионеров, мечтающих стать лётчиками».
Можно из кваки взять мод paintball для тренировки будущих спецназовцев на закрытых городских аренах.
Планов громадьё!
во время первой инсталляции несколько месяцев назад этой «мгновенной загрузки» не было. на прошлой неделе г+ загрузил недельные фотки, а наснятое ранее не трогал. отсюда ясно, что функция появилась на неделе. я сразу проверил опции — таких не обнаружил (тогда и снёс этот приклад). следовательно, опция появилась позже функции.
Именно поэтому яростно удалил g+ с сотки и планшета: он без спросу загрузил фотки на сайт.
Суть не в том, что он их опубликовал. Нет, он ждал дополнительных команд для публикации.
Но сам факт того, что загрузка фоток теперь НЕ отключается, меня раздражает.
Если дропбокс сделает то же самое, то я уйду к конкурентам, у которых голова работает.
xkcd.com/936/
Но практически в любой программе они присутствуют так же, как и присутствуют другие понятия реальной задачи как килограммы, метры, деньги, идентификаторы и прочие прикладные понятия.
И если замена килограммов на double имеет некоторые грабли (например в виде отрицательных значений массы), то замена строк на char * имеет массовые и массивные грабли в силу самой попытки использовать char * (или char []).
На месте авторов языков я бы ввёл два строковых типа — короткие в 255 символов без гемора с malloc и длинные с таковым. Плюс механизмы взаимного перевода между этими типами с соответствующими проверками.
Вы ведь согласитесь с тем, что 255 символов в 95% случаев устроили бы прикладные задачи? Да и операции вроде преобразования адреса в фамилию или аннотации в город чрезвычайно редко встречаются в жизни.
P.S. ладно, для денег не требую вводить отдельный вещественный тип. Хотя тоже неплохо бы ;-)
russian.joelonsoftware.com/Articles/BacktoBasics.html
«За свободу надо платить отвественностью» вкупе с «Незнание не освобождает от ответственности».
Собсна меня в си практически всё устраивает, кроме строк. Как говорил Спольски «история развития си++ может быть проиллюстрирована исторей борьбы с изначально идиотскими строками си».
Особенно чудесно заморочен Борман — есть TString и есть AnsiString, и для оперирования ими приходится извращаться.
Эх, если бы не строки… С остальной памятью я уж как нть разберусь.
Но я рад, что эксперименты идут. От пробок это не избавит, но в перспективе маячит улучшение безопасности.
xkcd.com/1002/
Видать мне судьба оставаться на qwerty пока что…
Однако, иногда бывает нужно «проспеллировать» слово, буква за буквой, из-за отсутствия оного в словарях…
Нет у них там намёка на такое решение?
SSI Flanker/A-10/Ka-50 для «пионеров, мечтающих стать лётчиками».
Можно из кваки взять мод paintball для тренировки будущих спецназовцев на закрытых городских аренах.
Планов громадьё!
ru.wikipedia.org/wiki/Теорема_Эрроу
Но на прошлой неделе, когда он качнул фотки — такой опции не обозревалось нигде.
Суть не в том, что он их опубликовал. Нет, он ждал дополнительных команд для публикации.
Но сам факт того, что загрузка фоток теперь НЕ отключается, меня раздражает.
Если дропбокс сделает то же самое, то я уйду к конкурентам, у которых голова работает.
Но суть вопроса на самом деле такова:
«Где материальный артефакт, опубликованный в разделе гаджетов (ака материальных артефактов)?!»