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

Наглядные пособия, как делать не надо - C++

Восстановить пароль Регистрация
 
טאַראַס
7 / 7 / 1
Регистрация: 11.01.2010
Сообщений: 123
14.01.2010, 07:27     Наглядные пособия, как делать не надо #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int *function (int s)
{
 int *p;
 p=new int [s];
 delete p;
 return p;
}
int *function (int s)
{
 int r;
 r=s*s;
 return &r;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
WolfCF
3286 / 1369 / 46
Регистрация: 28.04.2009
Сообщений: 4,823
14.01.2010, 07:30     Наглядные пособия, как делать не надо #2
טאַראַס, ↑ к чему это?
טאַראַס
7 / 7 / 1
Регистрация: 11.01.2010
Сообщений: 123
14.01.2010, 07:36  [ТС]     Наглядные пособия, как делать не надо #3
Сказано же: так делать не надо. Новичкам может и пригодится.
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
14.01.2010, 08:51     Наглядные пособия, как делать не надо #4
Новички в эту тему даже не зайдут, а кому надо, те и сами знают.
טאַראַס
7 / 7 / 1
Регистрация: 11.01.2010
Сообщений: 123
14.01.2010, 08:52  [ТС]     Наглядные пособия, как делать не надо #5
Название раздела не читал?
utwo
 Аватар для utwo
3 / 3 / 0
Регистрация: 10.10.2009
Сообщений: 108
14.01.2010, 10:45     Наглядные пособия, как делать не надо #6
Ну тогда думаю стоило бы объяснить что к чему и почему не надо так делать!
А тут нет никакой наглядности для новичка.
טאַראַס
7 / 7 / 1
Регистрация: 11.01.2010
Сообщений: 123
14.01.2010, 10:48  [ТС]     Наглядные пособия, как делать не надо #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int *function (int s)
{
 int *p;
 p=new int [s];
 delete p;
 return p; // Память удалена предыдущей строкой.
}
int *function (int s)
{
 int r;
 r=s*s;
 return &r; // Перед этим оператором неявный delete &r
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.01.2010, 11:00     Наглядные пособия, как делать не надо #8
טאַראַס: Ты Красавчик, безопасность это главное.
Единственное, что я хочу сказать, ты описал только одну проблему указателя.
Что бы все проблемы указателя описать: запаришься писать.
טאַראַס
7 / 7 / 1
Регистрация: 11.01.2010
Сообщений: 123
14.01.2010, 11:01  [ТС]     Наглядные пособия, как делать не надо #9
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Что бы все проблемы... описать
Ктож такую задачу ставит?
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.01.2010, 11:09     Наглядные пособия, как делать не надо #10
טאַראַס:
Напиши еще, хотя бы про NULL принцип, и его основные преимущества.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.01.2010, 11:43     Наглядные пособия, как делать не надо #11
C++
1
2
3
4
5
6
7
8
int Factorial(int x)
{
 if (x==0)
 {
  retrun 1;
 }
 retrun x*Factorial(x-1); // Сдесь получается двойной цикл: сначала цикл вызовов (разворачивается x!=x*((x-1)*((x-2)...*1))), потом ещё цикл подстановки. В результате перерасход стека + лишние операции.
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2010, 14:49     Наглядные пособия, как делать не надо #12
C++
1
2
#include <stdio.h>
#include <iostream.h>
Первое, чего не сто'ит делать. Я их когда вместе вижу, дальше и читать не хочется.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
21.01.2010, 20:41     Наглядные пособия, как делать не надо #13
C
1
2
3
4
5
6
int *function (int s)
{
 int r;
 r=s*s;
 return &r; // Перед этим оператором неявный delete &r
}
Нету там никакого delete &r.
Просто сначала указатель в стеке будет сдвинут до выполнения RET.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.02.2010, 09:53     Наглядные пособия, как делать не надо #14
C++
1
2
3
4
5
typedef int (*p[3])(int a); // Тип массива указателей на функции
p f; // Массив указателей на функции
p[0]=f1; // Пишем в элемент массива указатель на функцию.
p[1]=f1; // Пишем в другой элемент массива указатель на туже функцию.
p[2]=f1; // Пишем в третий элемент массива указатель на туже функцию.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.02.2010, 20:37     Наглядные пособия, как делать не надо #15
taras atavin
what is that?...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2010, 09:01     Наглядные пособия, как делать не надо
Еще ссылки по теме:

Книги и пособия по SFML на русском языке C++
C++ Надо сделать задание (надо найти среднее геометрическое)
Люди добрые очень надо, кто что может, к экзамену надо C++

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

Или воспользуйтесь поиском по форуму:
WolfCF
3286 / 1369 / 46
Регистрация: 28.04.2009
Сообщений: 4,823
13.02.2010, 09:01     Наглядные пособия, как делать не надо #16
Цитата Сообщение от Genius Ignat Посмотреть сообщение
what is that?...
так как делает taras atavin,так точно не надо делать
Yandex
Объявления
13.02.2010, 09:01     Наглядные пособия, как делать не надо
Ответ Создать тему
Опции темы

Текущее время: 14:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru