Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313

Какой тип должен быть у функции?

11.03.2012, 17:53. Показов 3810. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал ф-цию, которая считывает файла и записывает результат работы с данными в vector.
решил проверить, что хранит векотор, сделал ф-цию вывода и, как выяснилось - они пустые..
какой должен быть тип ф-ции, чтобы он возвращал вектор?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2012, 17:53
Ответы с готовыми решениями:

Как определять какой метод должен быть статическим, а какой нет?
Quer::add_line_to_vec: недопустимый вызов нестатической функции-члена

Почему у функции main() тип int? Почему не может быть какой-то другой, например, char?
Схема, касательно возвращаемого значения понятна. Не понятно почему именно целочисленное. Хелп)

Какой алгоритм должен быть у формулы?
Здравствуйте! Пробую решать задачи по основам программирования и алгоритмизации по учебнику. На первой картинке задача, на второй моё...

29
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
11.03.2012, 22:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от hello19 Посмотреть сообщение
а можно пример увидеть...
ты б сначала свою функцию показал
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 22:47  [ТС]
да какая разница...
C++
1
2
3
4
5
6
7
8
// FileName - откуда считываю данные
// coord,value - те самые два массивчика
<тип функции> function_1 (const string &FileName, vector<int> coord, vector<double> value )
{
// тело ф-ции
//....
//...
}
на выходе нужно просто иметь 2 этих массива...
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
11.03.2012, 22:53
по первому
как то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct stVector
{
vector<int> a;
vector<double> b;
}
 
stVector fnc()
{
stVector tmp;
tmp.a.....// заполняем 
tmp.b.....// заполняем 
return tmp;
}
по второму тебе показал ForEveR,
C++
1
void foo(std::vector<int>& first, std::vector<double>& second);
по третьему
объяви глобально
vector<int> a;
vector<double> b;
и заполняй их в функции
а вообще я бы сделал класс
где вектора члены класса
а чтение метод
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 23:00  [ТС]
в том коде, что ты написал вектора возвращаемые ф-цией идут ведь как независимые, так?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
11.03.2012, 23:07
Цитата Сообщение от hello19 Посмотреть сообщение
вектора возвращаемые ф-цией идут ведь как независимые,
независимые от чего???
если типа 5 интов и 2 дубля то да
но вообще подумай про класс( это следующий шаг от структуры)
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 23:08  [ТС]
ну вообщем понял, спасибо.
насчет класса - что-то мне кажется это не нужно.. да и потом я не настолько гуру плюсов)
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
11.03.2012, 23:27
Цитата Сообщение от hello19 Посмотреть сообщение
да и потом я не настолько гуру плюсов
А векторы используем
насчет класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class MyClass
{
public:
vector<int> a;
vector<double> b;
 
void fncRead(char* NameFile);
};
void MyClass::fncRead(char* NameFile)
{
a.....// заполняем 
b.....// заполняем 
}
 
int Main()
{
MyClass cls1;   // создаем объект
cls1.fncRead("lalala"); // считываем файл
cls1.a   // доступ к первому вектору
cls1.b  // доступ ко второму
}
Преимущества
можешь создать несколько экземпляров
и считывать разные файлы потом например их сравнить
если переопределить операторы то можно складывать вычитать копировать
добавь в методы свои функции обработки ты ведь не только считывать собираешься
запись например

повозишся с классом зато потом в майне вообше ничего делать не надо создавай объект и вперед
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
12.03.2012, 00:05  [ТС]
ой чет сложно... ладно, буду разбираться, спасибо)
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
12.03.2012, 12:02
Функция может возвращать значения через параметры любых типов не зависимо от типа самой функции. Сама функция даже может быть void, это не мешает присваивать параметры. Но переменные параметры нельзя передавать по значению, а только по указателю, или по ссылке.
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
12.03.2012, 17:56  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
по первому
как то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct stVector
{
vector<int> a;
vector<double> b;
}
 
stVector fnc()
{
stVector tmp;
tmp.a.....// заполняем 
tmp.b.....// заполняем 
return tmp;
}
по второму тебе показал ForEveR,
C++
1
void foo(std::vector<int>& first, std::vector<double>& second);
по третьему
объяви глобально
vector<int> a;
vector<double> b;
и заполняй их в функции
а вообще я бы сделал класс
где вектора члены класса
а чтение метод
Вообще, мне кажется, что есть смысл передавать векторы по ссылке, т.к. потом я буду работать с довольно большими объемами информации и нет смысла их туда-сюда копировать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2012, 17:56

Какой должен быть прототип у оператора копирующего присваивания?
Какой должен быть прототип у оператора копирующего присваивания?

Какой тип должен быть у массива цветов?
каким типом должен быть массив цветов? Color myColor{Color.Aqua,Color.Pink,Color.Yellow};

Как в поле таблицы сохранить файл документ какой тип данных должен быть и как преобразовать на C#
Необходимо сохранить файл в базу данных на C# ПОдскажите как это сделать)) Заранее спасибо!!!

Какой должен быть ТИЦ, чтобы быть на 1-2 странице поиска по распространенным ключевым словам
Google приводит на мой сайт примерно в 10 раз больше посетителей, чем Яндекс. Нарушаются все правила, согласно которым Яндекс контролирует...

Как в IIS 5 должен быть зарегистрирован тип .dl ?!
Вместо выполнения функций из DLL-ей они (dll-и)норовят сами скачаться :(. В зарегистрированных типах что-то про download и не одного...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru