F>test.cpp:36: ошибка: in C++98 ‘b’ must be initialized by constructor, not by ‘{...}’
F>test.cpp:36: предупреждение: extended initializer lists only available with -std=c++0x or -std=gnu++0x
Хмм... У меня есть pdf-ка с ISO/IEC 14882:2003. Там в 12.6.1.2 даже пример приведён:
class X {
public:
int i;
float f;
complex c;
} x = { 99, 88.8, 77.7 };
D>>для вас класс похоже означает что то типа "стремительного домкрата". большое. неповоротливое. М>тут не за скорость разговор идет, а за уровни абстракции. временный файл отличается всего лишь одним атрибутом. причем, этот атрибут можно (в общем случае) менять в течении жизни объекта, если он реализован как атрибут.
ну задеравйвьте CМыщъхFile от CFile которому предлаете функцию SetTemporary(TRUE)
на return которого вы так боялись
D>>это бывает у очень неопытных программистов которые пугаются слов класс, виртуальная функция, виртуальный деструктор. М>класс -- это некая сущность. согласны? тогда вопрос -- зачем плодить сущности на ровном месте?
М>сделал. нашел пару классов где он используется. ну и что? это как раз тот путь, о котором я говорю. это атрибут, а не производный класс. так что очко в мою пользу.
ваше очко переходит в зал
m_bAutoDelete в общем случае это флаг по которому удаляется обьект в десктруторе а вовсе не атрибут
М>покажите мне библиотеку, где TempFile реализован как класс.
Вы чего всерьез полагаете что С++ библиотеки пишут для того чтобы покрыть все возможные комбинации структур данных и возможных случаев?
Библиотека она для того и создана чтобы программист мог использовать ее эффективно в свою пользу (о чем мы изначально говорили) при минимальном ее изменении (derive/override)
Здравствуйте, мыщъх, Вы писали:
М>везет вам. вот по моей теме гуглить нечего. вот тут сейчас пишу одну функцию поиска в специфичном потоке данных. перерыл весь интернет -- глухо. никто этого еще не делал. не потому что это суперсложно, а потому что сильно специфично. во всех алгоритмах поиска исходная строка задана заранее, т.е. детерменирована. у меня же ситуация в стиле -- предположим, что этот символ 'f', тогда, согласно правилам кодирования, следующий символ должен быть 'o' и следующий за ним тоже 'o', а он ни фига не 'o'!!! но вот если предположить, что первый символ 'b', то следующий за ним будет не 'o', а 'a', а за ним 'z'. существующие реализации у конкурентов тупо перебирают все варианты, хотя и дураку ясно, что если не отматчилось foo, то не отматчиться и 'aaa' и все подстроки где второй и третий символ совпадают уже можно сразу отсечь. погуглите решение. убедитесь, что его нет. а задача есть (во всяком случае у меня). или вам никогда не приходилось решать нерешенные задачи? причем моя задача вовсе не из области сфероконей. более того, будучи решенной она представляет собой уникальное средство поиска строк в хз какой кодировке за время O(n) и при памяти O(1).
М>сделал. нашел пару классов где он используется. ну и что? это как раз тот путь, о котором я говорю. это атрибут, а не производный класс. так что очко в мою пользу. покажите мне библиотеку, где TempFile реализован как класс.
Здравствуйте, dudkin, Вы писали:
D>ваше очко переходит в зал D>m_bAutoDelete в общем случае это флаг по которому удаляется обьект в десктруторе а вовсе не атрибут
Здравствуйте, gandjustas, Вы писали:
cli>>Как же люди работают в vim, может дело в правильно настроенном /dev/hand? G>Плохо работают. Производительность труда низкая. Человек вроде работает-работает, а делает мало.
Мой самый лучший (пока) проект был написан на С++ под линуксом. Таки в vim.
С заметным опережением сроков и полным посрамлением руководства в плане предсказания количества багов.
Ах, да, бюджет проекта — заметно больше 2*10^6 AUD.
Здравствуйте, cli, Вы писали:
K>>какой ты дерзкий. не хотел бы к тебе на собеседование попасть cli>Это ты зря, я как раз нормально собеседую, жалоб не было. Всегда говорю каков правильный ответ, чтобы кандидат не думал, что его тупо прокатили.
Я не так давно подобному деятелю выкатил решение, более эффективное, нежели его "правильный ответ".
Столько говна и соплей было!
Здравствуйте, мыщъх, Вы писали:
М>зато понятие "хороший код" -- вполне объективная. если в чужом коде удается разобраться читая его по диагонали, поведение кода логично и интуитивно-понятно, вносимые изменения не рушат все на хрен и малые модификации не тебуют правки десяти файлов в 100500 местах -- то это хороший код.
М>по поводу return -- если встречается выход из середины функции, то, очевидно, что модификация функции становится небезопасной. допустим,
Совершенно неочевидно. Более того, в случае с C++ за код, где не используется RAII (по незнанию или каким другим религионым причинам), нужно бить шпалой по кривым рукам.
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, мыщъх, Вы писали:
М>>везет вам. вот по моей теме гуглить нечего. вот тут сейчас пишу одну функцию поиска в специфичном потоке данных. перерыл весь интернет -- глухо. никто этого еще не делал. не потому что это суперсложно, а потому что сильно специфично. во всех алгоритмах поиска исходная строка задана заранее, т.е. детерменирована. у меня же ситуация в стиле -- предположим, что этот символ 'f', тогда, согласно правилам кодирования, следующий символ должен быть 'o' и следующий за ним тоже 'o', а он ни фига не 'o'!!! но вот если предположить, что первый символ 'b', то следующий за ним будет не 'o', а 'a', а за ним 'z'. существующие реализации у конкурентов тупо перебирают все варианты, хотя и дураку ясно, что если не отматчилось foo, то не отматчиться и 'aaa' и все подстроки где второй и третий символ совпадают уже можно сразу отсечь. погуглите решение. убедитесь, что его нет. а задача есть (во всяком случае у меня). или вам никогда не приходилось решать нерешенные задачи? причем моя задача вовсе не из области сфероконей. более того, будучи решенной она представляет собой уникальное средство поиска строк в хз какой кодировке за время O(n) и при памяти O(1).
Pzz>Алгоритм Кнута — Морриса — Пратта?
и близко нет. сформулируем задачу так. есть строка S в неизвестной кодировке X в которой предположительно содержится одна или более подстрок T1, T2 .. Tn в известной кодировке Z. для упрощения будем считать что каждому символу Zm соответсвует единственный символ Xk.
и чем нам поможет обозначенный выше алгоритм? предположим, что у нас есть алфавит из трех символов a b c со следущим соотвествием кодировок:
a --> c
b --> a
c --> b
но на момент поиска нам это соответствие неизвестно. и нам требуется найти подстроки baba и caaaaac во входной строке, исходя из предположения что они там есть. допустим, строка выглядит так: cccccacaccccbccccbaaaaaa.
будем искать baba. и ведь найдем!! acaс -- очень похоже, правда? и если это так (мы не уверены, что это так, мы просто предполагаем). тогда 'a' это 'b', а 'c' это 'a'. если это действительно так, то 'bccccb' это 'caaaac' и тогда 'b' это 'c'. кодировка восстановлена и можно декодировать весь текст целиком. конечно, нет никаких гарантий, что мы не ложанулись, но чем больше мы найдем подстрок в строке, тем меньше вероятность ошибки.
а вот теперь реализовать это за O(N). брутфорсить не предлагать.
как видно, что при правильном подходе нам не нужно держать в памяти все таблицы с кодировками и такая таблица создается автоматически. с таблицами, правда, надежнее.
частотный анализ не предлагать -- строки достаточно короткие и перемешаны с мусором.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, __kot2, Вы писали:
__>>у меня например сейчас вижуал ассист не стоит, я и не парюсь по этому поводу. мне что он есть, что его нет, что в фаре код править, что в студии — с определенной скорости печати это просто без разницы становится. CC>Давай сравним скорость выполнения refactor rename c VIX и со "скоростью печати"
в фаре переименование делается ctrl+f7. глобальных переименований, то есть более чем в одном файле я делал разы за свою жизнь, хотя в фаре это тоже возможно.
Здравствуйте, CreatorCray, Вы писали:
CC> Это миф, придуманный нерадивыми работодателями, который некоторые программеры поддерживают. Из мазохистских побуждений надо полагать. CC>Разработчик должен заниматься непосредственно разработкой, а не корячиться с неудобным редактором. Нормальная среда разработки это как нормально оборудованное рабочее место. CC>Тот кто будет мне предлагать писать в блокноте по сути предлагает мне писать сидя на полу, комп ставить на табуретку, на компе 90х годов с глазовыжигающим древним ЭЛТ. Такие предлагающие идут на юг.
Мне такие типцы напоминают индусских йогов. Тех самых, которые подвешивают себя за кожу к потолку стальными крючьями и сушат телом простыни на морозе. Требует долгой тренировки и большой воли, конечно... но нафига????
Здравствуйте, rm822, Вы писали:
R>мне вас даже немножко жалко
Жалко у пчёлки, это раз, а на собеседования приходят непонятные типы и не могут часто назвать отличие класса от структуры это дваз.
Или вот ещё был перл, пришёл чел на вакансию С++, его начинаешь спрашивать по С++, не знает ничего и прямо говорит что пришёл собеседоваться по Си и по С++ его спрашивать не нужно.
Здравствуйте, landerhigh, Вы писали:
L>Я не так давно подобному деятелю выкатил решение, более эффективное, нежели его "правильный ответ". L>Столько говна и соплей было!
Пока, что говном тут ты кидаешься, не зная человека лично.
Для тех кто в танке ещё раз уточню, тестовые задания не давал, народ не мог ответить на простейшие вопросы по самому языку, теперь вот думаю сначала давать тест.задание так это сэкономит мне много времени.
Если не давать правильный ответ потом такой вот кандидат типа тебя начнёт на форуме писать, что вот дескать ходил на собеседование и правильно ответил или интервьюер задал вопрос на который сам не знает ответ или ещё что-то в этом роде.
Здравствуйте, мыщъх, Вы писали:
A>>>>также можно сделать отдельную функцию CreateFile(,,,TEMP_FILE) которая будет возвращать объект типа File или TempFile М>>>объект в любом случае File, но внутри его есть флаг TEMP или не TEMP. A>>разумеется можно и так. но не нужно. A>>это trade-off между количеством классов\методов и количеством ветвлений\количеством задач которые решает класс A>>т.е. 30 тривиальных кусков кода против 5 сложных функций в которых засунуто дофига функциональности. М>а мне казалось, что нужно при возможности абстрагироваться от деталей реализации. и концепция файла позволяет использовать унифицированный набор методов для решения очень разных задач. вместо класса GenerateRandomNumber можно открыть файл /dev/rand и читать его в свое удовольствие. а вместо Read|WriteProcessMemory можно юзать FileRead/FileWrite.
так одно другому не мешает
есть абстрактная концепция ReadableRandomAccessFile
если мы передаем в функцию foo(ReadableRandomAccessFile* file) то мы защищены от ошибки записи в read-only файл\память\etc
потому что у этого типа просто нет метода write
при этом ReadableRandomAccessFile — это не весь объект, а его интерфейс, а полный тип объекта может называться TempBitmapFile, или SomeMemoryArea.
Отдельный класс для временных файлов — это деталь реализации, которая существует только в месте создания класса.
File* storage = CreateTempFile(...);
в пользовательском коде вообще может не быть имени TempFile
_>>>Советую вам задуматься какова сложность алгоритма внутри HashMap и как можно его сломать сделав из HashMap LinkedList. И теперь если вы сможете ответить на этот вопрос наверное расскажете почему именно HashMap нельзя изменять из разных потоков, и что происходит если менять. A9R>>коллега, если бы вы взяли на себя труд подумать над своей формулировкой, то поняли бы, что так как контракт LinkedList-а, не только в сложности доступа, то сделать лист из мэпа путём положения туда "плохих" элементов затруднительно. A9R>>(хотя бы есть такое понятие, как indexed access — смотрите javadoc-и к list-у). _>Как мы все подразумеваем из контракта Map нельзя сделать List никаким образом. У них кроме Object даже предков нет. _>Речь шла, конечно же, о сложности алгоритма — ведь нам все еще нужен Map. Очень расстраивает что вы это не смогли уловить.
именно, уловленная неточность формулировки("сделав из HashMap LinkedList") тому, о чём "речь шла" и, что вы "подразумевали", и вызвало мой комментарий.
печально, но ожиданно, что вы этого не заметили.
Вернул вам подачу, но таки предлагаю(и предполагаю) закрыть эту тему, т.к. изначально я предполагал пошутить один раз над вашим тонким, но несовершенным(имхо), наездом на зиг-а.
А тут всё так затянулось )
_> хорошие знания на уровне java-doc это редкость, к сожалению.
ага
_>>>ЗЫ: Мне ехать с шашачками. Так что HashMap далеко не единственный вопрос и на профессиональных проходильщиков собеседований у нас есть свой хитрый болт. A9R>>http://www.lib.ru/SHUKSHIN/srezal.txt ? _>Скажу вам по секрету мне не доставляет удовольствия находить пробелы в знаниях человека — я хотел бы найти себе коллегу, потому что пока этого коллеги нет то работу за него приходится делать мне — это меня очень расстраивает.
сочувствую.
не предполагал, что вы серьёзно пишите и тема задевает ваше эмоциональное состояние.
потому закругляюсь, удач в поисках.