Форум программистов, компьютерный форум CyberForum.ru

Список вопросов по C++ для желающих проверить свои знания C++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 165, средняя оценка - 4.83
Доктор ТуамОсес
Заблокирован
08.12.2010, 23:29     Список вопросов по C++ для желающих проверить свои знания C++ #1
Я пишу книгу "Сборник тестовых вопросов и задач на знание C++ и умение его применять для решения конкретных задач.".
Предлагаю Вашему вниманию её текущую версию (бильд).
Вложения
Тип файла: rar FAQ C++ (Build6)20101208231403.rar (31.2 Кб, 646 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Доктор ТуамОсес
Заблокирован
28.10.2011, 22:09  [ТС]     Список вопросов по C++ для желающих проверить свои знания C++ #261
Цитата Сообщение от Сыроежка Посмотреть сообщение
Может быть я что-то не углядел, но не совсем понятен смысл этого примера. В объявлении переменной i отсутствует спецификатор типа. Насолкьок мне известно, в С++ только у функций может отсутствовать спецификатор типа, и тогда по умолчанию принимается тип возвращаемого значения int. Однако это правило не действует при объявлении объектов, хотя некоторые старые компиляторы, как, например, Borland C++ Builder 5.0 вполне возможно могут пропускать без внимание данное определение.
Если компилятор новый, то он уже "споткнется" на этом определении объекта, а дальше скорей всего сообщит, что такой идентификатор, как i, не объявлен.
Если же компилятор старый и примет для этого определения i значение типа int, то он споткнется на следующей строчке, где имеется попытка изменить константный объект.

Короче говоря, я не вижу никакой содержательной полезности данного примера.
Т.е. (если опустить "воду" из Вашего сообщения) Ваш ответ: "компилятор в любом случае будет ругаться на прогу, содержащую данный фрагмент кода".

Так?

Добавлено через 8 минут
Цитата Сообщение от Deviaphan Посмотреть сообщение
По умолчанию int.


Ахаха. Я вторую строчку даже читать не стал, а там ещё ошибка.) Так что вариант 1, дважды.)
Не торопитесь. Вопрос не так прост как кажется.

Не думаете же Вы что разработчик новых парадигм в программировании, которые сотрясут цивилизацию (т.е. цивилизатор), разработчик новых концепций построения систем виртуальных миров ("цифровых вселенных"™) и просто автор самых лучших книг по С++ будет задавать простые вопросы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
28.10.2011, 22:18     Список вопросов по C++ для желающих проверить свои знания C++ #262
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Вопрос не так прост как кажется.
код не будет скомпилироваг потому что в первой строке надо указывать тип переменной.
а во вторых строка два не может иметь место так как если даже указать тип переменной при инициализации, константную переменную менять нельзя.
если убрать const то в итоге будет предупреждение что происходит потеря данных при конвертации дабл в инт.

что сложного тут?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.10.2011, 22:25     Список вопросов по C++ для желающих проверить свои знания C++ #263
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Не думаете же Вы что разработчик новых парадигм в программировании, которые сотрясут цивилизацию (т.е. цивилизатор), разработчик новых концепций построения систем виртуальных миров ("цифровых вселенных"™) и просто автор самых лучших книг по С++ будет задавать простые вопросы?
я так и знал, что это не вы книжки пишете
позовите же автора, а то тема становится неимоверно тупа
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
28.10.2011, 22:25     Список вопросов по C++ для желающих проверить свои знания C++ #264
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
разработчик новых парадигм в программировании, которые сотрясут цивилизацию, разработчик новых концепций построения систем виртуальных миров и просто автор самых лучших книг по С++...
Скромности вам не занимать. А можно такой вопрос. Вы говорили, что являетесь доктором технических наук. Расскажите о ваших достижениях, ссылки на ваши статьи, учебные пособия, монографии, чтобы понять насколько к вам можно серьезно относиться. Или нечем похвастаться?
Доктор ТуамОсес
Заблокирован
28.10.2011, 23:30  [ТС]     Список вопросов по C++ для желающих проверить свои знания C++ #265
Цитата Сообщение от alex_x_x Посмотреть сообщение
я так и знал, что это не вы книжки пишете
позовите же автора, а то тема становится неимоверно тупа
Согласен! Тема становиться тупой от того, что Вы так толсто и бездарно и тупо троллите.
Тоньше надо. Тоньше
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.10.2011, 23:33     Список вопросов по C++ для желающих проверить свои знания C++ #266
Доктор ТуамОсес, а вы должно быть тонко?
и да
Цитата Сообщение от Olga_ Посмотреть сообщение
Скромности вам не занимать. А можно такой вопрос. Вы говорили, что являетесь доктором технических наук. Расскажите о ваших достижениях, ссылки на ваши статьи, учебные пособия, монографии, чтобы понять насколько к вам можно серьезно относиться. Или нечем похвастаться?
Доктор ТуамОсес
Заблокирован
28.10.2011, 23:37  [ТС]     Список вопросов по C++ для желающих проверить свои знания C++ #267
Цитата Сообщение от greeezz Посмотреть сообщение
код не будет скомпилироваг потому что в первой строке надо указывать тип переменной.
а во вторых строка два не может иметь место так как если даже указать тип переменной при инициализации, константную переменную менять нельзя.
если убрать const то в итоге будет предупреждение что происходит потеря данных при конвертации дабл в инт.

что сложного тут?
Т.е. больше версий ответа у вас нет? И Вы хотите сказать, что программа, содержащая указанный мной фрагмент
однозначно не скомпилируется?

Плохо же Вы знаете цЭплис
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
28.10.2011, 23:46     Список вопросов по C++ для желающих проверить свои знания C++ #268
Доктор ТуамОсес, ну поведайте нам свою трактовку данной ситуации, и когда оно может скомпилироваться
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
28.10.2011, 23:48     Список вопросов по C++ для желающих проверить свои знания C++ #269
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Согласен! Тема становиться тупой...
После странных ваших аббревиатур, странных фраз что вы еще хотите? Если не даете ссылок на ваши труды, то к вам как к ученому нельзя относиться, да и правда ли это, может вы просто как в известном фильме присвоили себе прозвище "доктор" (там был доцент). Вы поймите, с учеными степенями не шутят, не за красивые глазки их дают, а за серьезные достижения, особенно, о области физ-мат и естественных наук.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.10.2011, 00:10     Список вопросов по C++ для желающих проверить свои знания C++ #270
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
#define const double
 
int main()
{
  const i = 10;
  i = i + 1.618;
}
скомпилируется, но не по стандарту
Доктор ТуамОсес
Заблокирован
29.10.2011, 00:20  [ТС]     Список вопросов по C++ для желающих проверить свои знания C++ #271
Цитата Сообщение от alex_x_x Посмотреть сообщение
C++
1
2
3
4
5
6
7
#define const double
 
int main()
{
  const i = 10;
  i = i + 1.618;
}
"И это правильный ответ

Цитата Сообщение от alex_x_x Посмотреть сообщение
скомпилируется, но не по стандарту
Стандарт запрещает использовать препроцессорные директивы?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.10.2011, 00:23     Список вопросов по C++ для желающих проверить свои знания C++ #272
запрещает в качестве имен макросов использовать keywords
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
29.10.2011, 00:25     Список вопросов по C++ для желающих проверить свои знания C++ #273
Что за бред... Так можно любую белиберду написать и сказать, что она скомпилится. Условие задачи было не полным, задача не на знание языка.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.10.2011, 00:27     Список вопросов по C++ для желающих проверить свои знания C++ #274
хотя вроде нельзя делать только #define define .. )
надо искать
Bers
Заблокирован
29.10.2011, 00:29     Список вопросов по C++ для желающих проверить свои знания C++ #275
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
#define const double
Нужно иметь особую фантазию, что б додуматься до такого извращения.


Тут речь о знании языка, или конкурс за звание лучшего извращенца?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
29.10.2011, 00:29     Список вопросов по C++ для желающих проверить свои знания C++ #276
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
#if 0
  const i = 10;
  i = i + 1.618;
#endif
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.10.2011, 00:31     Список вопросов по C++ для желающих проверить свои знания C++ #277
Сообщение было отмечено автором темы, экспертом или модератором как ответ
grizlik78, чего уж там
C++
1
2
3
4
/*
  const i = 10;
  i = i + 1.618;
*/
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
29.10.2011, 01:57     Список вопросов по C++ для желающих проверить свои знания C++ #278
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Т.е. больше версий ответа у вас нет?
Чувствую подтекст хитреца в вопросе.
У меня есть еще одна версия. Она заключается в том что если мы будем писать программы объявляя в заголовке что-то типа #define const double, то читабельность такого кода снизится до минус бесконечности.
Конечно, круто знать тонкости того что позволено стандартом, а что не позволено, но это не значит что все что позволено нужно использовать. К примеру возможно вернуть рефернс на прайвет переменную класса, но это не значит что это нужно применять.
P.S. еще хочу добавить что если вы почитаете что пишут студенты в разделе для начинающих вы поймете что такие задачи им не то что задавать нельзя, им такое нельзя рассказывать! Потому что они начнут это применять и результаты будут неутешительными.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
29.10.2011, 06:48     Список вопросов по C++ для желающих проверить свои знания C++ #279
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
"И это правильный ответ"©
Т.е. вас не смущает, что препроцессор как бы это не С++...

Следующий вопрос в книге: "Что делает та программа?"
C++
1
int main(){ return; }
"Правильный" ответ:
C++
1
2
3
4
5
6
7
// без подсказки юным вредителям.)
#define return  { ФОРМАТ_Д }
 
int main()
{
     return;
}

Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Стандарт запрещает использовать препроцессорные директивы?
Стандарт запрещает писать программы людям, у которых отсутствует логика и здравый смысл.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 11:25     Список вопросов по C++ для желающих проверить свои знания C++
Еще ссылки по теме:

Насколько важна математика для знания языков c# и c++? C++
C++ Как подтверждать свои знания при устройстве на работу?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
29.10.2011, 11:25     Список вопросов по C++ для желающих проверить свои знания C++ #280
Сообщение было отмечено автором темы, экспертом или модератором как ответ
#define const double
Ага, так тоже можно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <iomanip>
#include <ctime>
 
#include <unistd.h>
 
#define true  bool( clock() % 2 )
#define false ( !(clock() % 2) )
 
int main( )
{
    for( int i = 0; i < 50; i++ )
    {
        std::cout << "True is " << std::boolalpha << true
                  << ", and false is " << std::boolalpha << false << ".\n";
 
        usleep( 25000 );
    }
 
    return 0;
}
Только не нужно.
Yandex
Объявления
29.10.2011, 11:25     Список вопросов по C++ для желающих проверить свои знания C++
Закрытая тема Создать тему
Опции темы

Текущее время: 20:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru