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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
#1

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

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

Большинство программистов говорят о том что С# и C++ мешать в одном коде не хорошо. Но что в этом такого плохого?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С && C++ - это плохо? (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 15:59 #16
Есть разночтения стандартов, значения sizeof от символа совпасть не должны, если это разные языки. Но компилятор не моймёт, где у тебя чистые си, для него везде плюсы. Поэтому можно смешивать только стили ввода/вывода старый и новый, юзать старый стиль ввода/вывода и классы в одной проге, мешать классы со структурами, но не плюсы с чистыми сями.
go
29.11.2012, 16:19
  #17

Не по теме:

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

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";
Как-то не оч

go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.11.2012, 16:24 #19
Цитата Сообщение от Croessmah Посмотреть сообщение
Как-то не оч
Конечно нельзя. Они ведь разные буферы используют.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.11.2012, 16:27 #20
Цитата Сообщение от go Посмотреть сообщение
бывает sprintf очень многое решает
заменяется stringstream'ом.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
29.11.2012, 18:39 #21
Цитата Сообщение от Vourhey Посмотреть сообщение
заменяется stringstream'ом.
stringstream умеет мегаудобные спецификаторы форматов, а не простынки из манипуляторов?

Правда, есть boost::format.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
29.11.2012, 18:56 #22
~OhMyGodSoLong~,
Манипуляторы как-нибудь переживем. Главное, что уже не сделать такого безобразия.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
typedef struct
{
    char str[3];
    int num;
} NumberRepr;
 
void format(NumberRepr* number)
{
    sprintf(number->str, "%3d", number->num);
}
 
int main()
{
    NumberRepr number = { .num = 1025 };
 
    format(&number);
 
    printf("str: %s\n", number.str);
    printf("num: %d\n", number.num);
 
    return 0;
}
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
29.11.2012, 20:27 #23
Те же public и protected есть в обоих языках, но означают разное. На плюсах public означает, что все следующие члены до следующего спецификатора общедоступны, на решётке - что один следующий член общедоступен. Это источник непролазной путаницы.
Путаться тут негде, в случае с C# это спецификаторы, в случае C++ - что-то вроде меток, помечающих нижележащую область некоторым свойством (в данном случае видом доступа), и после них стоит двоеточие, в отличие от C#.

И вообще, надо программировать на ассемблере, там вообще спецификаторов нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 20:27
Привет! Вот еще темы с ответами:

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

объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];??? - C++
Доброй ночи);) char COD={0b00000000, 0b00001011, 0b00010110, 0b00011101, 0b00100111, 0b00101100, 0b00110001,...

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x - C++
ответ уже известен, 10. Проблема в том что я не знаю каким образом он был получен.. а точнее какую функцию выполняет &quot;:&quot; здесь. просьба...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.11.2012, 20:27
Ответ Создать тему
Опции темы

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