Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
1

С && C++ - это плохо?

29.11.2012, 15:03. Показов 2417. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Большинство программистов говорят о том что С# и C++ мешать в одном коде не хорошо. Но что в этом такого плохого?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2012, 15:03
Ответы с готовыми решениями:

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;)
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H ...

Что это такое **&amp;?
Здравствуйте! как загуглить,

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const...

В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9&
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не...

22
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.11.2012, 15:11 2
Цитата Сообщение от cactus09 Посмотреть сообщение
о том что С# и C++
А ты как это собрался делать?
0
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
29.11.2012, 15:14  [ТС] 3
Цитата Сообщение от Vourhey Посмотреть сообщение
А ты как это собрался делать?
Ну как то так
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
#include <conio.h>
 
int main(){
 std::cout<<"Hello "; //Âûâîä Ñ++
 printf("world!"); //Âûâîä C#
 getch();
 return 0;
}
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
29.11.2012, 15:21 4
а зачем?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
29.11.2012, 15:22 5
Цитата Сообщение от cactus09 Посмотреть сообщение
printf("world!"); //Вывод C#
Может Си и Си++, не?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.11.2012, 15:23 6
Цитата Сообщение от cactus09 Посмотреть сообщение
printf("world!"); //Вывод C#
Штооооо?
0
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
29.11.2012, 15:26  [ТС] 7
Цитата Сообщение от Croessmah Посмотреть сообщение
Может Си и Си++, не?
Цитата Сообщение от Vourhey Посмотреть сообщение
Штооооо?
ошибся, С - конечно
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
29.11.2012, 15:27 8
Я аж в гугл полез, хотя С# в глаза не видел. Вот что нашел
Да, в приведенном примере вывод однозначно на С#
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
29.11.2012, 15:29 9
Цитата Сообщение от cactus09 Посмотреть сообщение
ошибся, С - конечно
Как-то не хорошо мешать и то и другое в одной программе. Но опять же, всё зависит только от Вас.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Я аж в гугл полез, хотя С# в глаза не видел. Вот что нашел
Да и так понятно, что ошибочка вышла :jokingly:

0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.11.2012, 15:38 10
Цитата Сообщение от cactus09 Посмотреть сообщение
Но что в этом такого плохого?
То, что это разные языки. Также нельзя мешать русский с английским, китайский с францусским, фарси с немецким. Вот попробуй скормить синтезатору и понять на слух: "Tomorrow I will ехать в Новосибирск. Там я навещу the brother." А ведь здесь различие языков сразу бросается в уши, но всё равно труднее понять, чем на одном языке. А если не то что буквы один и те же, но ещё и почти все слова одни и те же, но с разными значениями? Те же public и protected есть в обоих языках, но означают разное. На плюсах public означает, что все следующие члены до следующего спецификатора общедоступны, на решётке - что один следующий член общедоступен. Это источник непролазной путаницы. Языки разных уровней ещё можно мешать. Сисемблер - норма. Или языки программирования макросов и приложений, различающиеся классами программ. Универсальный со специализированным, например сиквел с сями. Но не одного уровня и при этом одного назначения. Плюсы за решёткой - это очень плохо.
1
denys_l
29.11.2012, 15:41
  #11

Не по теме:

taras atavin, Толстой именно так и делал )))

1
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.11.2012, 15:46 12
Даже делфа приплюснутая - это очень плохо. В крайнем случае можно на одном языке сделать приладу, а на другом библиотеку. Но не в одной проге два языка.

Добавлено через 31 секунду
Цитата Сообщение от denys_l Посмотреть сообщение
taras atavin, Толстой именно так и делал )))
Не во всём следует ему подражать.

Добавлено через 2 минуты
Цитата Сообщение от cactus09 Посмотреть сообщение
printf("world!"); //Вывод C#
Это тоже вывод c++.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
29.11.2012, 15:47 13
Дело не только в стиле. Чистый си содержит ряд потенциально опасных функций, для реализации функционала которых в С++ предусмотрены высокоуровневые альтернативы.

Так, вместо sprintf следует использовать std::stringstream и boost::lexical_cast. Вместо препроцессора - шаблоны. Вместо простых массивов - контейнеры стандартной библиотеки.
1
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.11.2012, 15:53 14
Цитата Сообщение от cactus09 Посмотреть сообщение
ошибся, С - конечно
Компилятор даже не поймёт, что ты смешал предка с потомком, но вывод printf - это одновременно и вывод c++, а не только c, а если вдруг встретится sizeof('c'), то это скомпилится по-плюсовому.
Цитата Сообщение от cactus09 Посмотреть сообщение
std::cout<<sizeof('c')<<" ";
printf("u%", sizeof('c'));
выведет дважды одно и тоже. А на сях sizeof('c') значит не совсем то.
1
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
29.11.2012, 15:55 15
Цитата Сообщение от taras atavin Посмотреть сообщение
А на сях sizeof('c') значит не совсем то.
Поясните, пожалуйста.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.11.2012, 15:59 16
Есть разночтения стандартов, значения sizeof от символа совпасть не должны, если это разные языки. Но компилятор не моймёт, где у тебя чистые си, для него везде плюсы. Поэтому можно смешивать только стили ввода/вывода старый и новый, юзать старый стиль ввода/вывода и классы в одной проге, мешать классы со структурами, но не плюсы с чистыми сями.
0
go
29.11.2012, 16:19
  #17

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Как-то не хорошо мешать и то и другое в одной программе. Но опять же, всё зависит только от Вас.
бывает sprintf очень многое решает.

0
Croessmah
29.11.2012, 16:21
  #18

Не по теме:

Цитата Сообщение от go Посмотреть сообщение
бывает sprintf решает очень многое решает.
но писать
C++
1
2
3
cout<<"my text1\n";
printf("my text2\n");
cout<<"my text3\n";
Как-то не оч

0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
29.11.2012, 16:24 19
Цитата Сообщение от Croessmah Посмотреть сообщение
Как-то не оч
Конечно нельзя. Они ведь разные буферы используют.
1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.11.2012, 16:27 20
Цитата Сообщение от go Посмотреть сообщение
бывает sprintf очень многое решает
заменяется stringstream'ом.
0
29.11.2012, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2012, 16:27
Помогаю со студенческими работами здесь

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt;...

Порядок вычисления: операторы «|» и «||», «&» и «&&»
В Java булевые операторы «|» и «||», и «&amp;» и «&amp;&amp;» отличаются друг от друга порядком вычеслений, а в...

Friend ostream& operator<<(ostream& stream, CArr& obj);
CArr.h #pragma once class CArr{ int* arr = nullptr; int size = 10; void swap(int *a, int...

Создать функцию с параметрами GetFunctionValue(double& a, double& b, double& c, double& x)...
Есть код что считает нужно сделать пару манипуляций что у не могу реализовать 1) создать функцию...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru