1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
1 | |
Си является подмножеством С++?12.11.2012, 22:54. Показов 5091. Ответов 21
Метки нет (Все метки)
Занимаюсь переводом книги по плюсам.
"Created by Bjarne Stroustrup, C++ is a direct descendant of the C language. In fact, C++ retains almost all of C as a subset. However, C++ offers better ways to do things and some brand-new capabilities, too." "Язык программирования С++, созданный Бьерном Страуструпом, является прямым потомком языка Си. Фактически С++ включает в себя практически весь Си как подмножество, но вместе с тем предоставляет более эффективные средства для решения задач, а также обладает некоторыми принципиально новыми возможностями." На самом деле этот кусок до сих пор обсуждается на Мультитране (кейворд "to do things" - кому интересно, можете глянуть, но флуда там дофига). Честно говоря, не думал, что так зацепятся за "подмножество" Основной аргумент: Хотелось бы услышать Вашего мнения, специалисты Благодарю!
0
|
12.11.2012, 22:54 | |
Ответы с готовыми решениями:
21
Определить, является ли множество X подмножеством множества Y Функция проверяющая, является ли массив В подмножеством массива А Установить, является ли одно множество подмножеством другого Проверить, является ли один массив подмножеством другого |
23 / 21 / 4
Регистрация: 03.11.2010
Сообщений: 169
|
|
12.11.2012, 22:59 | 3 |
1
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
12.11.2012, 23:00 [ТС] | 4 |
0
|
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
12.11.2012, 23:27 | 6 |
Это родственные языки. Но тем не менее, не всякий валидный код на Си является валидным кодом на Си++. И наоборот.
1
|
12.11.2012, 23:38 | 7 |
Можно пример, пожалуйста? Я верю, что это так. Постоянно кажется, что где-то я уже слышал это, но ни одного примера в голову не лезет. Я знаю что Си более удачен с точки зрения преобразования типов и способен неявно преобразовывать то, на что С++ будет делать замечания и ошибки. Но кроме этого ничего в голову не лезет.
0
|
Higher
|
||||||
12.11.2012, 23:39 | 8 | |||||
Даже на этот вопрос можно развернуть холивар.
Мое мнение - true, так как С++ содержит в себе все возможности С, и небольшие различия в синтаксисе этого не отменяют. Kuzia domovenok, примеров десятки, практически все они есть в книге мертвого страуса. Сходу вспомнился тип символьных литералов, плюсовый дефайн, запрет на
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
12.11.2012, 23:45 | 9 |
Kuzia domovenok, в Си можно рекурсивно вызывать main, С++, вроде, такое не проглотит.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
12.11.2012, 23:49 | 11 |
Croessmah, Наверно зависит от компилятора. Так как стандартом запрещено вызывать main рекурсивно.
0
|
Higher
|
||||||
12.11.2012, 23:53 | 14 | |||||
студия не соблюдает стандарт.
Еще парочка различий вспомнилась -В С struct является именем типа, поэтому ее обязательно писать всегда. В плюсах struct опционален. -В С++ main по умолчанию возвращает 0. -В С можно написать
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
12.11.2012, 23:55 | 15 |
Croessmah, если компилировать с соответствием стандарта, то gcc выдает ошибку:
0
|
12.11.2012, 23:58 | 16 | |||||
а почему это запретили? Зря. Это именно к (void*) относится или так можно в С++?:
Ну это мелочи. Это ещё в сях вечно тайпдефом обходилось.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
13.11.2012, 00:01 | 19 |
Kuzia domovenok, можно присвоить любой адрес или указатель, указателю на void. Указатель на void придется явно приводить, что бы присвоить другому указателю ( не на void ). В Си же не нужно явно приводить. Запретили, наверно, из соображения безопасности.
Да, return в main можно не писать.
0
|
Higher
|
||||||
13.11.2012, 00:09 | 20 | |||||
И еще немного:
-В С можно на месте возвращаемого типа или аргумента функции объявить структуру -В С можно использовать необъявленные функции -В С можно использовать goto в обход инициализации переменных -В С перечислениям можно присваивать целочисленные значения -В С можно писать типы аргументов функции после объявления, собсно, функции Т.е. такой код валиден
0
|
13.11.2012, 00:09 | |
13.11.2012, 00:09 | |
Помогаю со студенческими работами здесь
20
Указатели: написать функцию, проверяющую, является ли массив В подмножеством массива А Определить множество, которое является подмножеством всех остальных множеств Определить, является ли А подмножеством множества В Доказать, что множество A является подмножеством B Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |