Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Массив Использовать так ? |
Автор: denes 28.4.2018, 00:53 |
#include <iostream> #include <vector> using namespace std; int main() { vector<int> array1(3); // инициализируем элементы вектора array1 array1[0] = 4; array1[1] = 2; array1[2] = 1; vector<int> array2(3); // инициализируем элементы вектора array2 array2[0] = 4; array2[1] = 2; array2[2] = 1; // сравниваем массивы if (array1 == array2) { cout << "array1 == array2" << endl; } return 0; } Так ? Массивы содержат определенное количество элементов определенного типа. Чтобы компилятор мог зарезервировать требуемое пространство при компиляции программы, вы должны указать тип и количество элементов, которые будет содержать массив, когда он будет определен. Компилятор должен иметь возможность определить это значение при компиляции программы. Как только массив определен, вы используете идентификатор для массива вместе с индексом для доступа к определенным элементам массива. [...] массивы нуль-индексируются; то есть первый элемент находится в индексе 0. Эта схема индексирования указывает на тесную связь в С++ между указателями и массивами и правилами, которые язык определяет для арифметики указателя. - Справочник по С++ Pocket Это знаю |
Автор: _zorn_ 28.4.2018, 15:42 | ||
То что вы подразумеваете по массивом (квадратные скобки, верно ?), в C++ имеют разное значение. Они могут быть переопределены и т.п. В чистом си следующие выражения эквивалентны. Если не знаете что такое указатели, самое время познакомится ![]()
|
Автор: denes 1.5.2018, 01:08 | ||||
классом std::vector Этого не понял можите обьяснить ? Добавлено через 2 минуты и 52 секунды
Так это не правильный код ? Напишите где не точность ? И в чем разница ? |
Автор: _zorn_ 28.5.2018, 15:54 |
Ну std::vector должны быть какие то методы использования (типа push быть). Я не С++ программер. Стандартные вещи (для плюсов) могу не знать ![]() |
Автор: denes 2.6.2018, 12:28 | ||
Интиресно какие ? |
Автор: _zorn_ 7.6.2018, 18:04 |
Это СВИНСТВНО заставлять человека искать за вас. Поисковой запрос: https://yandex.ru/search/?text=std%3A%3Avector%20push&lr=11406 Первая ссылка: http://www.cplusplus.com/reference/vector/vector/push_back/ ЗЫ: Так же хз почему push_back ![]() |
Автор: TheCalligrapher 9.6.2018, 04:32 | ||||||
Что имеется в в иду под "эквивалентностью выражений"
в "чистом си" - не ясно. Во-первых, это не "выражения", а объявления. Во-вторых, в общем случае они не эквивалентны. Единственный контекст в С, в котором эти объявления эквивалентны - это объявления параметров функции, да и то эквивалентность не полная. |
Автор: denes 11.6.2018, 12:34 | ||||||||||
Стандартный шаблон обобщённого программирования языка Си++ std::vector<T> — реализация динамического массива переменного размера. это ? Добавлено через 1 минуту и 26 секунд
В С круглые скобки предназначены для изменения приоритета выполнения операторов. Квадратные скобки предназначены для индексации массивов . Короче говоря, если имеется массив, то с помощью квадратных скобок можно обратиться к элементу массива. Например, в программе #include <stdio.h> char s[80]; int main(void) { s[3] = 'X'; printf("%c", s [3]); return 0; } |