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

Стоит ли изучить программирование в стиле С? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Утечка памяти в С++ (Borland C++ 3.1 под DOS) http://www.cyberforum.ru/cpp-beginners/thread1175368.html
Добрый день! Прошу помощи! Есть старая программа, которую мне надо адаптировать под новое оборудование. Но при выполнении выдает странные ошибки. Подозреваю, что где-то есть утечка памяти. Программа большая, руками искать буду несколько месяцев, в ней очень много указателей, ссылок, динамических массивов. И, к тому же, я еще начинающий программист. Есть какая-нибудь утилита именно для работы в...
C++ Если элемент массива - вещественный оставить его без изменения, если целый, то прибавить к нему 0.1 //Обьявить динамический массив.Заполнить его целыми и вещественными числами. //ВВывести на экран массив(оформить как функцию). //если элемент вещественный оставить его без изменения,если целый ,то прибавить к нему0.1(оформить как функцию). #include <iostream> using namespace std; void print(float *mas,float n)//функция печати массива на экран { cout<<"Масив: "; for(int i = 0; i < n; i++)... http://www.cyberforum.ru/cpp-beginners/thread1175344.html
C++ Переделать на условный оператор и прокомментировать программу
и нужно переделать на условный оператор #include<stdio.h> #include<math.h> int Check(long a) { long b = abs(a); int digits = {0}, i; while (b) { digits++;
Найти разницу между максимумом и минимумом в каждой строке массива C++
Дана действительная матрица размером n*m. Определить числа {b}_{0}, ... , {b}_{n-1}, равные соответственно разностям наибольших и наименьших значений элементов строк.
C++ Цикл с предусловием (while), вычислить сумму ряда http://www.cyberforum.ru/cpp-beginners/thread1175314.html
Вычислить сумму ряда с точностью Е, общий член которого {a}_{n}=\frac{{(-1)}^{n-1}}{{n}^{n}}
C++ Вычислить сумму по заданной формуле с помощью цикла с предусловием (while) Пусть {X}_{1}={Y}_{1}=1; {X}_{i}=0.3*{X}_{i-1}, {Y}_{i}={X}_{i-1}+{Y}_{i-1}, i=2,3,... . Дано натуральное число n. Найти \sum_{k=1}^{n}\frac{{X}_{i}}{1+|{Y}_{i}|} подробнее

Показать сообщение отдельно
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 166
16.05.2014, 14:57     Стоит ли изучить программирование в стиле С?
Чтобы не сидеть часами думая где ошибка в Си надо понимать к чему приводят ошибки в памяти и как с этой памятью работать char как один байт в этом может пригодится для более простого программирования можно посмотреть в сторону C#. Я плюсы использую только там где надо добиться экстремальной скорости п этому использую его чаще как Си с небольшими улучшениями. Ниже пример как программа может интерпретировать память при выходе за границы массива.
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
25
26
27
28
29
30
31
32
/*class ClassOne
{ int x;
public:
 int func()
 {return x;}
};*/
int main()
{
 std::cout<<sizeof(ClassOne)<<"\n";
 int f=8;
 void* p = &f;
 std::cout<<((ClassOne*)p)->func();
 system("pause");
}
/*class ClassOne
{
 int x;
public:
 virtual int func()
 {return x;}
};*/
int main()
{
 std::cout<<sizeof(ClassOne)<<"\n";
 ClassOne b;
 void* t = &b;
 std::cout<<*(((int*)t+1))<<"\n";
 int f[]={*(int*)t,8};
 void* p = &f;
 std::cout<<((ClassOne*)p)->func();
 system("pause");
}
Функции могут быть вызваны на тех объектах где их и не существовало
 
Текущее время: 07:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru