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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
#1

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

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

Сделал ф-цию, которая считывает файла и записывает результат работы с данными в vector.
решил проверить, что хранит векотор, сделал ф-цию вывода и, как выяснилось - они пустые..
какой должен быть тип ф-ции, чтобы он возвращал вектор?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2012, 17:53     Какой тип должен быть у функции?
Посмотрите здесь:

возвращаемый тип "main" должен быть "int", а не C++
C++ В VC++ параметр const (_variant_t & data) непонятно какой должен быть
C++ В VC++ параметр const (_variant_t & data) непонятно какой должен быть
C++ Как определять какой метод должен быть статическим, а какой нет?
C++ Какой должен быть синтаксис для использования вложенного шаблонного класса?
Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты C++
C++ Какой заголовок должен соответствовать приведенному телу функции?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6479 / 4945 / 455
Регистрация: 14.02.2011
Сообщений: 16,386
11.03.2012, 22:44     Какой тип должен быть у функции? #21
Цитата Сообщение от hello19 Посмотреть сообщение
а можно пример увидеть...
ты б сначала свою функцию показал
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 22:47  [ТС]     Какой тип должен быть у функции? #22
да какая разница...
C++
1
2
3
4
5
6
7
8
// FileName - откуда считываю данные
// coord,value - те самые два массивчика
<тип функции> function_1 (const string &FileName, vector<int> coord, vector<double> value )
{
// тело ф-ции
//....
//...
}
на выходе нужно просто иметь 2 этих массива...
ValeryS
Модератор
6479 / 4945 / 455
Регистрация: 14.02.2011
Сообщений: 16,386
11.03.2012, 22:53     Какой тип должен быть у функции? #23
по первому
как то так
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;
и заполняй их в функции
а вообще я бы сделал класс
где вектора члены класса
а чтение метод
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 23:00  [ТС]     Какой тип должен быть у функции? #24
в том коде, что ты написал вектора возвращаемые ф-цией идут ведь как независимые, так?
ValeryS
Модератор
6479 / 4945 / 455
Регистрация: 14.02.2011
Сообщений: 16,386
11.03.2012, 23:07     Какой тип должен быть у функции? #25
Цитата Сообщение от hello19 Посмотреть сообщение
вектора возвращаемые ф-цией идут ведь как независимые,
независимые от чего???
если типа 5 интов и 2 дубля то да
но вообще подумай про класс( это следующий шаг от структуры)
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
11.03.2012, 23:08  [ТС]     Какой тип должен быть у функции? #26
ну вообщем понял, спасибо.
насчет класса - что-то мне кажется это не нужно.. да и потом я не настолько гуру плюсов)
ValeryS
Модератор
6479 / 4945 / 455
Регистрация: 14.02.2011
Сообщений: 16,386
11.03.2012, 23:27     Какой тип должен быть у функции? #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  // доступ ко второму
}
Преимущества
можешь создать несколько экземпляров
и считывать разные файлы потом например их сравнить
если переопределить операторы то можно складывать вычитать копировать
добавь в методы свои функции обработки ты ведь не только считывать собираешься
запись например

повозишся с классом зато потом в майне вообше ничего делать не надо создавай объект и вперед
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
12.03.2012, 00:05  [ТС]     Какой тип должен быть у функции? #28
ой чет сложно... ладно, буду разбираться, спасибо)
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.03.2012, 12:02     Какой тип должен быть у функции? #29
Функция может возвращать значения через параметры любых типов не зависимо от типа самой функции. Сама функция даже может быть void, это не мешает присваивать параметры. Но переменные параметры нельзя передавать по значению, а только по указателю, или по ссылке.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 17:56     Какой тип должен быть у функции?
Еще ссылки по теме:

C++ Какой должен быть итератор для константной ссылки на вектор?
C++ Какой должен быть прототип у оператора копирующего присваивания?
Какого типа должен быть 3-ий аргумент функции make_heap? C++
Операнд * должен быть указателем C++
C++ Какой алгоритм должен быть у формулы?

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

Или воспользуйтесь поиском по форуму:
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
12.03.2012, 17:56  [ТС]     Какой тип должен быть у функции? #30
Цитата Сообщение от 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;
и заполняй их в функции
а вообще я бы сделал класс
где вектора члены класса
а чтение метод
Вообще, мне кажется, что есть смысл передавать векторы по ссылке, т.к. потом я буду работать с довольно большими объемами информации и нет смысла их туда-сюда копировать...
Yandex
Объявления
12.03.2012, 17:56     Какой тип должен быть у функции?
Ответ Создать тему
Опции темы

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