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

Указатель на указатель - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ После последнего столбца, содержаще-го только отрицательные элементы, вставить столбец из нулей. http://www.cyberforum.ru/cpp-beginners/thread383869.html
Дана матрица размера M × N. После последнего столбца, содержаще-го только отрицательные элементы, вставить столбец из нулей. Если тре-буемых столбцов нет, то вывести матрицу без изменений. #include <iostream.h> #define n 10 #define m 10 #include <stdlib.h> void main () { int a,i,j,k=0; for(i=0; i<n; i++) for(j=0; j<m; j++)
C++ Ограничение на ввод букв и символов Подскажите пожалуйста, как можно реализовать в консоле ограничение на ввод букв и символов, т.е. требуется чтобы пользователь мог вводить цифры и запятую, если он вводит остальные символы или буквы программа выдает ошибку. http://www.cyberforum.ru/cpp-beginners/thread383852.html
C++ Запись даты в переменную
Народ, ктонибудь знает как записать в переменную сегодняшнюю дату (например чтобы было String str = "141111";) Идеально было бы чтобы запись происходила не с компьютера, а с сервера точного времени и даты!
Помогите написать алгоритм. C++
F(a)+2F(a+h)+2F(a+2h)+...+2F(a+(N-1)h)+F(a+Nh). При F(x)=(x^2+1)((cos^2)x).
C++ Возвращение значения в классе http://www.cyberforum.ru/cpp-beginners/thread383819.html
Подскажите, плиз, один нюанс в проге. Вот листинг (сильно в него можно и не вникать кроме кое-каких строк): #include <iostream> #include <cmath> using namespace std; class Matrix { private:
C++ Помогите обьяснить что означают эти команды Вот задача Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих максимальное количество одинаковых элементов. #include <stdio.h> #include <stdlib.h> #include <time.h> int countSames(int *array, int width) { int i; int *counters = (int*)malloc(width * sizeof(int)); // можно функцией memset подробнее

Показать сообщение отдельно
kl14_11
17 / 17 / 7
Регистрация: 02.11.2009
Сообщений: 118
14.11.2011, 19:44     Указатель на указатель
Всем доброго времени!
Совсем недавно начал использовать технику двойных указателей типа Obj ** obj, поэтому путаюсь.
Для удобного заполнения списка из обычных указателей (Obj * obj) написал такую функцию:
C++
1
2
3
4
5
Act ** set(Act ** a, Act * n)
{
    *a = n;
    return &(*a)->next;
}
где next - одинарный указатель (Obj *) на следующий объект списка, Act - обычный элемент списка с кое какими данными.

Заполняю например вот так
C++
1
2
Act ** a = &begin;
a = set( a, new Act() );
, где begin - начало списка, a - указатель

В принципе, всё работает. Меня смущает что я возвращаю через return следующий элемент. Хочу написать эту функцию в таком виде:
C++
1
2
3
4
5
void set(Act ** a, Act * n)
{
    *a = n;
    a = (&(*a)->next);
}
, чтобы результат сам по ссылке присваивался, но чёто не катит. Помогите как нужно правильно эту функцию переделать, интересуюсь больше для собственного развития, чтоб механизм понять.
C++
1
2
Act ** a = &begin;
set( a, new Act() ); //вместо a = set( a, new Act() );
.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru