Форум программистов, компьютерный форум 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; } подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.08.2010, 18:32
Массивы в Си реализованы через указатели, поэтому можно возвратить массив через указатель:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int* newArr(size_t sz)
{
    return new int[sz];
}
 
int main()
{
    const size_t sz =  6;
    int* iarr = newArr(sz);
    for(size_t i = 0; i < sz; ++i)
    {
        iarr[i] = i * 2 + 1;
        std::cout << iarr[i] << '\t';
    }
    std::cout << std::endl;
    delete[] iarr;
    system("pause");
    return EXIT_FAILURE;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru