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

Почему функция не может вернуть массив, но может вернуть структуру содержащий массив? - 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++ :) Ну и очередной затык. Никак не могу усвоить работу с типами данных. Вот до...
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
4825 / 3246 / 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); )
по крайней мере в питоне так, когда создаётся копия массива (списка, кортежа, строки), расходуется ещё столько же памяти, сколько он занимает
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru