Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
#1

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

17.04.2012, 12:11. Просмотров 1210. Ответов 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
#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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 12:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача и возвращение структуры (C++):

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

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

Передача/возвращение из функции - C++
Привет, сейчас читал это. Там парень говорит, что когда мы передаем в функцию, например, так: #include &lt;iostream&gt; #include...

Передача структуры в ф-ию - C++
#include &lt;iostream&gt; #include &lt;string&gt; // std::string #include &lt;algorithm&gt; // std::sort #define ARRAY_SIZE(x) sizeof(x)/sizeof(0) ...

Передача структуры в функцию - C++
Хочу передать массив в функцию. как лучше это сделать? struct a1{ char smA1; }; char b1 = {&quot;sdk&quot;}; void setstrinf(a1...

Передача структуры в подпрограму - C++
Здравствуйте,задание дано так: Создайте структуру для сохранения информации про матрицу (динамическая,многомерная); Напишите функции...

2
zss
Модератор
Эксперт С++
6532 / 6094 / 2007
Регистрация: 18.12.2011
Сообщений: 15,851
Завершенные тесты: 1
17.04.2012, 12:20 #2
На самом деле в С++, операция копирования структуры и присваивания определены,
т.к. структуры в С++ являются классами и для них создается копиконструктор
и operator= по умолчанию.
Однако, надо иметь ввиду, что производится тупое копирование всех данных.
В том числе, если копируется указатель, то данные, определяемые указателем сами не скопируются.
1
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
17.04.2012, 12:27  [ТС] #3
Понял. Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2012, 12:27
Привет! Вот еще темы с ответами:

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

Передача структуры в функцию - C++
Всем добрый день. Есть программа разбитая на файлы. как объвить, определить и вызвать функцию в которую передать значения структуры ...

Передача структуры в функцию - C++
структура к примеру: struct GamePoint { int x; int y; }; Функция допустим вот такая: void Func (GamPoint val) { /***/

Передача структуры в функцию - C++
Здравствуйте, объясните пожалуйста, как передать структуру в функцию. Пользовался поиском, но ничего не понял struct syt { ...


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

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

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