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

Впадаю в страшную рекурсию... еще вопрос по указателям - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с указателями в объектах и без них, помогите разобраться http://www.cyberforum.ru/cpp-beginners/thread16127.html
Значит так! Есть 4 указателя - 2 из них описанны в классе, 2 глобально. В классе есть конструктор, который выделяет место под переменную первого указателя. и присваивает адрес, на который ссылается первый указатель второму. Такая же действие производится с глобальными указателями в программе. При выводе областей памяти, на которые ссылаются указатели - у тех указателей которые прописывались...
C++ Составить программу для произвольного рисования на экране Составить программу для произвольного рисования на экране. Рисунок - это след курсора, перемещаемого с помощью клавишь управления курсором. Должна обеспечиваться возможность изменения цвета линий в процессе рисования. http://www.cyberforum.ru/cpp-beginners/thread16072.html
Определить произведение отрицательных элементов матрицы и их количество C++
Заданы две матрицы А={aij} размерности n*n и B={bij} размерности n*g. Для каждой из них определить произведение отрицательных элементов и их количество. Упорядочить элементы строк в матрице А и столбцов матрицы В в порядке роста, линейной быстрой сортировкой. вот кое -что написала, а как дальше незнаю:sorry: #include <iostream.h> #include <math.h> #include <conio.h> #define n 5...
C++ Как научиться программировать на языке С++; Аллен Р., Глассборо Ф.
У кого нибудь есть "Как научиться программировать на языке С++; Аллен Р., Глассборо Ф." в электронном формате?
C++ Считывание текста из файла http://www.cyberforum.ru/cpp-beginners/thread15877.html
Вот собственно такая задачка Некоторый текст состоит из нескольких частей, записанных в отдельных файлах. Имена этих файлов и общий заголовок текста указаны в отдельном файле. Создать файл с полным текстом. Заголовок должен содержаться в центре первой строки. Добавлено через 1 час 13 минут 54 секунды Люди погите, чем сможите !пожалуйста!!
C++ Различия описания классов в DEV и Visual C++ Собственно что хотелось бы спросить скачал DEV среду, а решебник нашел по Visual. Сейчас смотрю построение перегруженного конструктора, приведён пример : class banan { class // ругается ВОТ В ЭТОМ МЕСТЕ int x ; public: int y; подробнее

Показать сообщение отдельно
Xentar
Of Wolf and Man
 Аватар для Xentar
993 / 188 / 4
Регистрация: 09.07.2008
Сообщений: 1,885

Впадаю в страшную рекурсию... еще вопрос по указателям - C++

17.11.2008, 17:31. Просмотров 847. Ответов 8
Метки (Все метки)

Почему в рекурсию? Начинаю разбирать код на С. и понимаю что я чего то не знаю. - начинаю разбираться как с этим работать, как понимаю что мне еще что то надо знать - вот так ухожу вдаль от изначальной проблемы

Вопрос не нашел на просторах инета, нашел только что написал изначально не правильно, хотя работало ( хоть не так как надо ), а потом написал правильно, но тоже работало (хотя тоже не так как надо).

Создаю я массив переменных в объекте, через указатель дальше присваиваю ему какие то значения, потом пытаюсь их изменить, потом пытаюсь их считать.

При попытке изменить значения происходит вылет из программы
Код
class cArray{
public:
        char    *ptr;
        cArray(void){ptr=new char[1000000];}
        ~cArray(){delete[]ptr;}
        cArray( const cArray &a ){
                ptr = new char [1000000];
                memcpy( ptr , a.ptr , 1000000 );
                printf("%s","конструктор копий");
        }
        cArray  operator=( cArray & a ){
                ptr = new char [1000000];
                memcpy( ptr , a.ptr , 1000000 );
                printf("%s","оператор присваивания");
                return( *this );
        }
};

cArray a;

int main () {
    [COLOR=Red]a.ptr="fuтk"[/COLOR];

/* [COLOR=Green]a.ptr[0]=140;
    a.ptr[1]=141;
    a.ptr[2]=142;
    a.ptr[3]=143;[/COLOR] */
    
/*  [COLOR=DarkOrange]*(a.ptr+1)=100;[/COLOR] */
    
   
    [COLOR=Blue]printf("%c\n",*(a.ptr+1));
    [/COLOR][COLOR=Blue]printf("addres of array %p\n",a.ptr);[/COLOR]
   [COLOR=Blue] printf("%c\n%c\n%c\n%c\n",a.ptr[0],a.ptr[1],a.ptr[2],a.ptr[3]);[/COLOR]
    
    system("pause");
}
На перегруженный конструктор не смотреть - это то с чем я сейчас разбираюсь.

Красным
выделенно то как я заполняю массив.
Синим выделен вывод массива, причем оба метода работают.
Зеленым и Желтым выделены изменения вносимые в массив, выполнены разными способами (моим и правильным) и при использовании с Красным методом заполнения массива - не работают, хотя друг с другом ладят.

Вопрос № РАЗ - можно ли заполнять и читать массивы моим Зеленым методом, и чем отличается от правильного Желтого метода ? Чем это черевато ?

Вопрос № ДВА - почему они не работают вместе с красным методом изменения массива ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru