|
Модераторы: bsa |
|
denes |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: нет Всего: -7 |
#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 Это знаю --------------------
Денис |
|||
|
||||
xvr |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Ну так. Или так (c++11):
Не путайте встроенный в язык массив с шаблонным классом std::vector |
||||
|
|||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
То что вы подразумеваете по массивом (квадратные скобки, верно ?), в C++ имеют разное значение. Они могут быть переопределены и т.п.
В чистом си следующие выражения эквивалентны. Если не знаете что такое указатели, самое время познакомится
Это сообщение отредактировал(а) _zorn_ - 28.4.2018, 15:45 |
|||
|
||||
denes |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: нет Всего: -7 |
классом std::vector Этого не понял можите обьяснить ?
Добавлено через 2 минуты и 52 секунды
Так это не правильный код ? Напишите где не точность ? И в чем разница ? --------------------
Денис |
||||
|
|||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Ну std::vector должны быть какие то методы использования (типа push быть). Я не С++ программер. Стандартные вещи (для плюсов) могу не знать
|
|||
|
||||
denes |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: нет Всего: -7 |
Интиресно какие ? --------------------
Денис |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Это СВИНСТВНО заставлять человека искать за вас.
Поисковой запрос: https://yandex.ru/search/?text=std%3A%3Avec...sh&lr=11406 Первая ссылка: http://www.cplusplus.com/reference/vector/vector/push_back/ ЗЫ: Так же хз почему push_back Это сообщение отредактировал(а) _zorn_ - 7.6.2018, 18:06 |
|||
|
||||
TheCalligrapher |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 9.6.2018 Репутация: нет Всего: нет |
Что имеется в в иду под "эквивалентностью выражений"
в "чистом си" - не ясно. Во-первых, это не "выражения", а объявления. Во-вторых, в общем случае они не эквивалентны. Единственный контекст в С, в котором эти объявления эквивалентны - это объявления параметров функции, да и то эквивалентность не полная. |
||||||
|
|||||||
denes |
|
||||||||||
Шустрый Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: нет Всего: -7 |
Стандартный шаблон обобщённого программирования языка Си++ std::vector<T> — реализация динамического массива переменного размера. это ? Добавлено через 1 минуту и 26 секунд
В С круглые скобки предназначены для изменения приоритета выполнения операторов. Квадратные скобки предназначены для индексации массивов . Короче говоря, если имеется массив, то с помощью квадратных скобок можно обратиться к элементу массива. Например, в программе #include <stdio.h> char s[80]; int main(void) { s[3] = 'X'; printf("%c", s [3]); return 0; } --------------------
Денис |
||||||||||
|
|||||||||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |