Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
The_Immortal
1553 / 489 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
#1

Си является подмножеством С++? - C++

12.11.2012, 22:54. Просмотров 1904. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 22:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Си является подмножеством С++? (C++):

Определить, является ли множество X подмножеством множества Y - C++
Рассматривая массивы X, Y и Z как представление некоторых множеств из объектов типа индекс (X=TRUE, если элемент k принадлежит множеству X,...

Проверить, является ли один массив подмножеством другого - C++
Здравствуйте! Опять нужна помощь. Задание: Написать функцию, принимающую в качестве аргумента, указатели на два массива (А и В) и...

Установить, является ли одно множество подмножеством другого - C++
помогите пожалуста))) 1)Создать множества А,В,С- псевдослучайных чисел из натурального ряда; 2)Поэлементно сравнивая множества: -...

Указатели: написать функцию, проверяющую, является ли массив В подмножеством массива А - C++
Задача такая: Написать программу, которая содержит функцию, принимающую в качестве аргумента, указатели на два массива (А и В) и размеры...

Определить, является ли текст является записью четного числа в семеричной системе - C++
В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст является записью четного...

Проверить, является ли целое число трёхзначным, является ли оно квадратом - C++
помогите пожалуйста новичку 1) Введите целое число и проверьте, является ли оно трехзначным. 2) Введите целое число и проверьте,...

21
Kuzia domovenok
2117 / 1946 / 190
Регистрация: 25.03.2012
Сообщений: 6,750
Записей в блоге: 1
12.11.2012, 22:58 #2
Тоже мне, тема для обсуждения.
Надеюсь, употребляя слово "ЯЗЫК", ты не имел в виду язык с точки зрения лингвистов-языковедов? Мы ж о ЯП говорим!
1
AlexSun
18 / 16 / 1
Регистрация: 03.11.2010
Сообщений: 169
12.11.2012, 22:59 #3
язык почти полностью включает в себя структуру/функционал другого языка
Я бы так сказал.
1
The_Immortal
1553 / 489 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
12.11.2012, 23:00  [ТС] #4
Kuzia domovenok,

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ты не имел в виду язык с точки зрения лингвистов-языковедов
Нет, не имел :-)

А если по теме - можно так сказать?
0
ValeryS
Модератор
6751 / 5160 / 493
Регистрация: 14.02.2011
Сообщений: 17,335
12.11.2012, 23:04 #5
я бы тоже сказал
Цитата Сообщение от The_Immortal Посмотреть сообщение
"язык почти полностью включает в себя структуру/функционал другого языка".
ибо подмножество подразумевает что С полностью вошел в плюсы, без каких либо изменений
1
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
12.11.2012, 23:27 #6
Это родственные языки. Но тем не менее, не всякий валидный код на Си является валидным кодом на Си++. И наоборот.
1
Kuzia domovenok
2117 / 1946 / 190
Регистрация: 25.03.2012
Сообщений: 6,750
Записей в блоге: 1
12.11.2012, 23:38 #7
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Это родственные языки. Но тем не менее, не всякий валидный код на Си является валидным кодом на Си++. И наоборот.
Можно пример, пожалуйста? Я верю, что это так. Постоянно кажется, что где-то я уже слышал это, но ни одного примера в голову не лезет. Я знаю что Си более удачен с точки зрения преобразования типов и способен неявно преобразовывать то, на что С++ будет делать замечания и ошибки. Но кроме этого ничего в голову не лезет.
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.11.2012, 23:39 #8
Даже на этот вопрос можно развернуть холивар.
Мое мнение - true, так как С++ содержит в себе все возможности С, и небольшие различия в синтаксисе этого не отменяют.
Kuzia domovenok, примеров десятки, практически все они есть в книге мертвого страуса. Сходу вспомнился тип символьных литералов, плюсовый дефайн, запрет на
C++
1
T *x = (void *) y
в плюсах, правило неявного int в с, аргументы main(в с main() означает любое количество аргументов, в плюсах - ни одного).
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
12.11.2012, 23:45 #9
Kuzia domovenok, в Си можно рекурсивно вызывать main, С++, вроде, такое не проглотит.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 23:47 #10
Цитата Сообщение от Toshkarik Посмотреть сообщение
в Си можно рекурсивно вызывать main, С++, вроде, такое не проглотит.
Попробовал ради интереса - глотает и не ругается, до тех пор, пока стек тютю (VS2012)
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
12.11.2012, 23:49 #11
Croessmah, Наверно зависит от компилятора. Так как стандартом запрещено вызывать main рекурсивно.
0
ValeryS
Модератор
6751 / 5160 / 493
Регистрация: 14.02.2011
Сообщений: 17,335
12.11.2012, 23:50 #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Попробовал ради интереса - глотает и не ругается, до тех пор, пока стек тютю (VS2012)
а файл расширения c или cpp ?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 23:52 #13
Цитата Сообщение от Toshkarik Посмотреть сообщение
Так как стандартом запрещено вызывать main рекурсивно.
g++ тоже глотает...в общем без разницы =)

Добавлено через 30 секунд
Цитата Сообщение от ValeryS Посмотреть сообщение
а файл расширения c или cpp ?
не волнуйтесь, он cpp =)
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.11.2012, 23:53 #14
Цитата Сообщение от Croessmah Посмотреть сообщение
Попробовал ради интереса - глотает и не ругается, до тех пор, пока стек тютю (VS2012)
студия не соблюдает стандарт.
Еще парочка различий вспомнилась
-В С struct является именем типа, поэтому ее обязательно писать всегда. В плюсах struct опционален.
-В С++ main по умолчанию возвращает 0.
-В С можно написать
C
1
(0 ? sin : cos)(1.0)
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
12.11.2012, 23:55 #15
Croessmah, если компилировать с соответствием стандарта, то gcc выдает ошибку:
main.cpp:237:9: error: ISO C++ forbids taking address of function '::main' [-pedantic]
0
12.11.2012, 23:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 23:55
Привет! Вот еще темы с ответами:

Определите, является ли число степенью числа 2, и если является, то выведите значение этой степени - C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени / С++ для...

Определить, является ли значение целочисленной переменной х четным. Если является, то вывести на печать значен - C++
Определить, является ли значение целочисленной переменной х четным. Если является, то вывести на печать значение х, в противном случае...

Детектировать, является ли контейнером set или является multiset - C++
здравствуйте, вот есть детектирование является ли контейнер map или multimap: template< typename... > using void_t = void; ...

Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени - C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.