С++, Windows
Запись от bigredcat размещена 20.07.2012 в 16:24
Показов 7536
Комментарии 33
Тест на должность программиста C++, WinApi. Широко известная Российская компания-разработчик широко известного продукта (имена просили не указывать). Оригинальный текст и форматирование.
| |||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 33
Комментарии
-
Запись от dr.curse размещена 20.07.2012 в 17:23
-
2.
int main(int argc, char* argv[])
{
if( argc > 1 )
{
printf( argv[1] );
};
return 0;
}
Вроде так...Запись от ВАСИЛЕВС размещена 20.07.2012 в 18:00
-
Ничего не будет. Для меня этот тест не актуален.
Сообщение от aram_gyumri
Запись от bigredcat размещена 20.07.2012 в 18:52
-
Сообщение от Вася97
Вася97, дело точно совсем не в этом. Обрати внимание на printf( argv[1] )Запись от bigredcat размещена 20.07.2012 в 18:54
-
http://liveworkspace.org/code/... 6929b67623
кроме ругачки не неконст в чем проблемы?
да и при чем тут виндовсЗапись от Pure размещена 21.07.2012 в 21:00
-
=) Такой интересный вопрос: А что вы выводите? =)>
Понятно что будет Ошибка по какому-то адресу в каком-то .dll =)C++ 1
printf( argv[1] );
Если вы хотите так что-то вывести, то сначала надо туда что-то записать=)Запись от InfoMister размещена 22.07.2012 в 16:40
-
Ну во втором примере пользователь может толкнуть форматную строку в виде аргумента и, в лучшем случае, уронить приложение. Нужно через %s выводить.Запись от Vourhey размещена 26.07.2012 в 12:24
-
DeleteЗапись от bigredcat размещена 27.07.2012 в 20:08
-
Да, так может быть. Читал об этом у Стива Макконалла, по-моему (вроде бы, книга называлась "Совершенный код" или что-то про "[какое-то число] ошибок ...").
Сообщение от Vourhey
А вот что с этим:
C++ 1 2 3 4 5 6 7 8 9
void g( char *, char *, size_t ); void f( size_t n ) { char *a = new char[n]; char *b = new char[n]; g( a, b, n ); delete [] b; delete [] a; }
Запись от bigredcat размещена 27.07.2012 в 20:26
-
Я ничего не ввожу. Вводят пользователи, то ... что вводят. Могут ввести "Hello World". А могут "%s%s"...
Сообщение от InfoMaster
Запись от bigredcat размещена 27.07.2012 в 20:33
-
Проблема в том, что в зависимости от того, что вы ввели (см. комментарий Vourhey), приложение может себя повести не так как я (или вы) того хотели. А Windows пока тут не при чем, только C/C++. Это первый вопрос, на котором большая часть отсеивается, возможно, по невнимательности.
Сообщение от Pure
Запись от bigredcat размещена 27.07.2012 в 20:36
-
Запись от grizlik78 размещена 27.07.2012 в 21:05
-
Запись от Evg размещена 29.07.2012 в 23:23
-
Думаю, что да. Вариант с try ... catch раскритиковали, как более сложный и запутанный. Сказали, что проблему можно решить гораздо проще.
Сообщение от grizlik78
Запись от bigredcat размещена 01.08.2012 в 00:36
-
Судя по этому я так понял, что все нормально должно быть.
Сообщение от Evg
5.3.4 New...
7 When the value of the expression in a noptr-new-declarator is zero, the allocation function is called to allocate an array with no elements. ...
5.3.5 Delete...
2 ... In the second alternative (delete array), the value of the operand of delete may be a null pointer value or a pointer value that resulted from a previous array new-expression.79 If not, the behavior is undefined. ...
79) For non-zero-length arrays, this is the same as a pointer to the first element of the array created by that new-expression. Zero-length arrays do not have a first element.Запись от bigredcat размещена 01.08.2012 в 00:37
-
Запись от Evg размещена 01.08.2012 в 08:54
-
А если серьезно, то какая там трабла в первой задаче? Я думал, там проверку на ошибку выделения опустили просто для упрощения...Запись от Vourhey размещена 01.08.2012 в 12:25
-
Оба задания на тему антипаттернов
По первому я просто предложил использовать try-catch. На что мне ответили, что и код получится длиннее и, соответственно, шансов запутаться будет больше. Попросил пояснить - посоветовали перечитать Страуструпа
.
В общем я так понял, что это должен быть вполне очевидный антипаттерн. Типа не используйте С-массивы, используйте подходящие контейнеры и умные указатели.Запись от bigredcat размещена 01.08.2012 в 14:19
-
Странные какие-то.
Сообщение от bigredcat
Запись от Vourhey размещена 01.08.2012 в 16:58
-
Запись от Evg размещена 01.08.2012 в 19:32

.
