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

Понимание для чего вообще нужны указатели? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблема с pow http://www.cyberforum.ru/cpp-beginners/thread382561.html
#include <iostream> #include <conio.h> #include <math.h> using namespace std; class Triangle { public: int a,b,c;
C++ Считать массив строк из файла Например есть файл in.txt, с него нужно считать массив строк в мемо, а в другом мемо записать эти же строки в ascii кодах, например: в файле: abc bcd def в первом мемо должно отобразиться то же самое что и в файле, а во втором их коды: 97 98 99 98 99 100 100 101 102 как реализировать такую функцию? заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread382557.html
глобал в библиотеке, не отображается в дебагере C++
Использую студию 2010, профешинал. Есть в статик библиотеке глобальная переменная, внутри этой библиотеке в дебагере ее поля вопросиками показываются, а хотя извлекается оттуда все нормально. Но очень мешает отлаживать. Мб кто встречал такие проблемы и знает решение. P.S. глобальная переменная является структурой.
C++ Очередь, С++
здраствуейте, помогите реализовать алгортитм :pardon: С++ , буду признателен =) Смоделировать очередь, в которой реализован такой механизм изъятия элемента из очереди: начало очереди всегда находится в первом элементе массива; при изъятии одного элемента из очереди, все остальные элементы перемещаются на одну позицию ближе к началу массива. После обработки всей заданной входной...
C++ Табуляция http://www.cyberforum.ru/cpp-beginners/thread382529.html
ПРивет всем передо мной стоит следующая задачка: Требуется вычислить значения yi заданной функции для ряда значений аргументов xi, i=1,…,N, при этом вычис-лив с точностью ε > 0 значения функций ряда согласно разложениям в степенные ряды. f=4/sin x + (ex – sin x)/cos x. Написал кой-чего, но работать не хочет. Помогите, а? #include <stdio.h> #include <conio.h> #include <math.h> double eps =...
C++ Дан текстовый файл f, содержащий буквы и целые числа. Выбрать все числа, которые делятся нацело на ... Дан текстовый файл f, содержащий буквы и целые числа. Выбрать все числа, которые делятся нацело на 2 и 4, но не делятся на 6. Записать эти числа в текстовый файл g, а все остальные числа – в текстовый файл h. подробнее

Показать сообщение отдельно
Bers
Заблокирован
15.11.2011, 05:52     Понимание для чего вообще нужны указатели?
taras atavin

Ниже представленный код мало того, что прекрасно компилируется и работает.
Так ещё и крушений не вызывает. (До поры, до времени).
Этот код иллюстрирует как легко можно встрять и даже не заметить.

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
class B
{
public:  void Test() {  a=666; }
private: int a;
};
 
class A
{
public:    
    A(B* ptr): m_ptr(ptr) {}
    void Test() {  m_ptr->Test();  }
protected:
    B* m_ptr;
};
 
 
int main()
{
  B* ptr= new B;
 
  A test(ptr);
 
  delete ptr;
 
  test.Test();
 
    
 
    EndProgramm();
}
Если класс держит указатель на другой объект, становится очень щепетильными ответы на такие вопросы: кто контролирует время жизни объектов, как определить валидный указатель, или уже нет.

И все это делается только ради того, что бы А не угораздило обратится к уже убитому Б.

А если архитектура проекта посложнее хэлло ворлд, и работают несколько человек, то все эти щекотливые вопросы становятся очень актуальными.


/зы У меня 90% всех ошибок связано с указателями. Если что-то где то упало в рантайме, то скорее всего оно упало по вине некорректного использования указателя.
 
Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru