Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
SwEeTxD
10 / 11 / 3
Регистрация: 11.06.2012
Сообщений: 189
#1

Вернуть указатель на массив указателей - C++

23.06.2014, 15:35. Просмотров 305. Ответов 3
Метки нет (Все метки)

Всем привет!
Написал маленький код:

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
int WHAT();
 
int main()
{
 
cout<<WHAT();
 
 
system("pause >> void");
return 0;
}
 
int WHAT()
{
//допустим это год число месяц
int year = 2014;
int month = 6;
int day = 23;
//делаем массив указателей
int *A[] = {&year,&month,&day};
 
int **p = A;  //указатель на массив указателей
return **p;
}
Нужно вернуть указатель на массив указателей, но у меня вдруг появился вопрос:

если мы пишем так
C++
1
return **p;
мы получаем 2014, **(p+1) будет 6 и т.д., это понятно,
но как мне вернуть что бы было 2014623, не могу же я написать так :
C++
1
return **(p),**(p+1),**(p+2);
так как будет выводится самое правое.(приоритеты операций).
А как же тогда мне вернуть 2014623?
http://www.cyberforum.ru/cpp-beginners/thread1354306.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 15:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вернуть указатель на массив указателей (C++):

Указатель на массив указателей
Доброго времени суток. Имеется класс Kino, содержащий в себе некоторые поля...

указатель на массив указателей
помогите разобраться, передаю в функцию update_table массив указателей на...

Массив указателей на указатель
Помогите, пожалуйста. У нас есть объявление int **m6; Нужно представить и...

Указатель на двумерный массив указателей
char* err = {{&quot;abc&quot;}, {&quot;def&quot;}}; char ***ptr; ptr = (char ***)err;...

Получить указатель на массив указателей
Есть массив инициализированных указателей: Result* res; for (int i=0;i&lt;100;...

3
Denno
93 / 95 / 30
Регистрация: 21.10.2012
Сообщений: 319
Завершенные тесты: 3
23.06.2014, 16:02 #2
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
33
34
#include <string>
#include <cstdio>
#include <cstdlib>
 
int WHAT();
 
int main()
{
    std::cout << WHAT();
 
    system("pause >> void");
    return 0;
}
 
 
 
int WHAT()
{
    //допустим это год число месяц
    int year = 2014;
    int month = 6;
    int day = 23;
    //делаем массив указателей
    int *A[] = { &year, &month, &day };
 
    int **p = A;  //указатель на массив указателей
 
    char buf[20];
    _snprintf_s(buf, 20, "%04d%02d%02d", *p[0], *p[1], *p[2]);
 
    int n = atoi((char*)buf);
 
    return n;
}
1
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,199
Завершенные тесты: 1
23.06.2014, 16:09 #3
Лучший ответ Сообщение было отмечено SwEeTxD как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int* WHAT();
 
int main()
{
    int* px=WHAT();
    cout<<px[0]<<"/"<<px[1]<<"/"<<px[2]<<endl;
    delete[] px;
    system("pause >> void");
    return 0;
}
int* WHAT()
{
    int date=new int[3];
    date[0]=2014;
    date[1]= 6;
    date[2]= 23;
    return date;
}
1
SwEeTxD
10 / 11 / 3
Регистрация: 11.06.2012
Сообщений: 189
24.06.2014, 01:18  [ТС] #4
Большое всем спасибо!

Буду практиковаться дальше!

Добавлено через 9 часов 6 минут
Все таки решил как надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int *(*WHAT())[]
{
//допустим дата
int A = 2014;
int B = 23;
int C = 6;
 
int *arr[] = {&A,&B,&C};
int *(*res)[] = &arr;
return res;
}
 
 
int main()
{
int *(*arrr)[] = WHAT();
 
cout<<*(*arrr)[0]<<"/"<<*(*arrr)[1]<<"/"<<*(*arrr)[2];
system("pause >> void");
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2014, 01:18
Привет! Вот еще темы с решениями:

Вернуть указатель на новый массив
Всем добрый вечер. Помогите пожалуйста разобраться. В задаче необходимо...

Вернуть указатель на трехмерный массив
Подскажите пжл как вернуть указатель из моей функии на трехмерный массив. ...

Вернуть указатель на массив из функции
Дан массив из 20 элементов, который заполняется в функции, причем заполнение...

Указатель на массив указателей на объекты, передать в метод объекта
Здравствуйте! Нужно решить задачу, есть такой класс. class MyClsDisk ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru