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

Почему функция не может вернуть массив, но может вернуть структуру содержащий массив? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как создать двухмерный вектор http://www.cyberforum.ru/cpp-beginners/thread157615.html
если в с++ vector является заменой массива в си, то как создать двухмерный вектор? например нужно считать матрицу размером х на у из файла в вектор при этом размер матрицы неизвестен
C++ Почему значение tellg() не изменяется? Следующий код: #include <iostream> #include <fstream> using namespace std; void main() { ifstream file; http://www.cyberforum.ru/cpp-beginners/thread157519.html
Шифрование строки по паролю C++
В продолжение этой темы. Всем привет. Выбрал время для дальнейших поползновений в неблагодарном деле изучения C++ :) Ну и очередной затык. Никак не могу усвоить работу с типами данных. Вот до сюда все вроде двигалось: #include <iostream> #include <string> #include <ctime> using namespace std;
C++ Не пойму как работает класс
Hi all Не пойму как работает пример #include <stdafx.h> #include <conio.h> using namespace std; class String { public: char* ptr; String(char* s){ int n = strlen(s);
C++ Начинаю изучать C/C++ http://www.cyberforum.ru/cpp-beginners/thread157459.html
Здравствуйте. Вот решил изучать C/C++, подскажите какой лучше из них, какой литературы пользоваться и какой компилятор, среда программирования выбрать. Я в этом языке полный ноль. Спасибо!
C++ Использование нововведений C++0x Красиво на самом деле... Вопрос, есть-ли резон использовать так, или новый стандарт стоит использовать в меру? #include <iostream> template <typename T> T Sum(T n, T m) { return n+m; } подробнее

Показать сообщение отдельно
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.08.2010, 03:36     Почему функция не может вернуть массив, но может вернуть структуру содержащий массив?
Цитата Сообщение от AKE
Почему функция не может вернуть массив, но может вернуть структуру содержащую массив?
можно вернуть структуру содержащую два массива и это не значит, что функция должна уметь возвращать два массива
C
1
2
3
4
struct x {
    struct { int a, b, c, d[3]; } s[10];
    int n;
};
C
1
struct x func(void);
Цитата Сообщение от AKE
Согласитесь что это некоторое несовершенство языка...
как видишь, в структуру можно запихать практически всё и в любом виде
а что касается того, почему нельзя возвратить массив, возможно это связано с памятью
(я имею в виду, создать массив в функции и возвратить его содержимое, типа int n[2][3] = f(void); )
по крайней мере в питоне так, когда создаётся копия массива (списка, кортежа, строки), расходуется ещё столько же памяти, сколько он занимает
 
Текущее время: 17:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru