Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
1

Передача и возвращение структуры

17.04.2012, 12:11. Показов 1685. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно, интересен только следующий вопрос. На одном сайте написано следующее:
Действия над структурами, в общем, ограничены. Все, что можно делать со структурой, - это взять ее адресс с помощью операции & и обращаться к ее элементам, как показано выше. Записи нельзя копировать или присваивать как единое целое; их нельзя передавать в функцию или получить оттуда целиком. Однако, к указателям на структуры это замечание не относится.
Ниже я попытался передать структуру в функцию, возвратить и присвоить её другой структуре. Все получилось. Что имелось ввиду, когда говорилось, что записи нельзя копировать и присваивать и тп.?

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
#include <iostream>
 
using namespace std;
 
struct Day
{
    int x;
    int y;
} today;
 
Day show(Day tmp)
{
    cout << tmp.x << endl;
    cout << tmp.y << endl;
    return tmp;
}
 
int main()
{
    today.x = 10;
    today.y = 20;
    Day secday = show(today);
    show(secday);
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2012, 12:11
Ответы с готовыми решениями:

Оператор if и структуры. Возвращение структуры из функции
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { ...

Возвращение адреса на элемент структуры
Здравствуйте. У меня в классе есть структура. Может ли метод класса возвращать указатель на элемент...

Передача/возвращение из функции
Привет, сейчас читал это. Там парень говорит, что когда мы передаем в функцию, например, так: ...

Возможно ли возвращение функцией двух значений? Именно возвращение, не ссылка или указатель
Нужна функция в которую забиваешь два числа и сначала она возвращает минимальное, после...

2
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,716
17.04.2012, 12:20 2
На самом деле в С++, операция копирования структуры и присваивания определены,
т.к. структуры в С++ являются классами и для них создается копиконструктор
и operator= по умолчанию.
Однако, надо иметь ввиду, что производится тупое копирование всех данных.
В том числе, если копируется указатель, то данные, определяемые указателем сами не скопируются.
1
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
17.04.2012, 12:27  [ТС] 3
Понял. Спасибо
0
17.04.2012, 12:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2012, 12:27
Помогаю со студенческими работами здесь

Передача структуры в ф-ию
#include &lt;iostream&gt; #include &lt;string&gt; // std::string #include &lt;algorithm&gt; // std::sort ...

Передача структуры в функцию
Добрый вечер. Необходимо обеспечить вывод значении элементов структуры в 10-ной и 16-ной системе...

Передача структуры в подпрограму
Здравствуйте,задание дано так: Создайте структуру для сохранения информации про матрицу...

Передача структуры в функцию
структура к примеру: struct GamePoint { int x; int y; }; Функция допустим вот такая: void...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru