Нотация std :: array в C ++ — это альтернативный метод объявления и инициализации массивов в C ++. Однако у вас может возникнуть вопрос: если мы уже можем объявлять и инициализировать массивы, тогда зачем вообще нам вообще нужна эта нотация? В этой статье мы постараемся изучить ответ на этот вопрос. После этого мы поделимся с вами некоторыми примерами, чтобы продемонстрировать использование нотации std :: array в C ++ в Ubuntu 20.04.
- Обозначение std :: array в C ++
- Использование std: array в C ++ в Ubuntu 20.04
- Пример 1: Использование списка инициализаторов для объявления массива
- Пример 2: Использование нотации инициализации списка для объявления массива
- Пример 3: Отдельное объявление массива с последующей его инициализацией
- Пример 4: Доступ к определенному индексу массива
- Пример 5: Изменение значения, присвоенного определенному индексу массива
- Заключение
Обозначение std :: array в C ++
Мы уже заявляли, что нотация std :: array в C ++ — это альтернативный метод объявления и инициализации массивов. Однако нам все еще нужно выяснить необходимость использования этой нотации. Как правило, в C ++ есть два типа массивов: статические и динамические. У обоих этих типов массивов есть свои плюсы и минусы. Статические массивы теряют всю информацию об их размере, как только они передаются функции в качестве указателя, тогда как освобождение динамических массивов очень проблематично.
Следовательно, нотация std :: array используется для наилучшего использования обоих этих типов, т.е. При использовании этой конкретной нотации статический массив никогда не теряет информацию, которую он содержит, даже когда он передается функции. Именно поэтому мы используем эту нотацию в C ++. Вы узнаете больше об использовании этой нотации в C ++, пройдя через следующий раздел этой статьи.
Использование std: array в C ++ в Ubuntu 20.04
Чтобы понять использование нотации std :: array в C ++ в Ubuntu 20.04, вам необходимо взглянуть на следующие примеры:
Пример 1: Использование списка инициализаторов для объявления массива
В этом примере мы намерены научить вас использовать список инициализаторов для инициализации массива с использованием нотации std :: array в C ++. Мы написали код C ++, показанный на изображении ниже, чтобы продемонстрировать это:
В этот код мы также включили библиотеку «» вместе с обычной библиотекой «», а затем добавили пространство имен «std». Затем внутри нашей функции main () мы объявили и инициализировали массив, используя нотацию списка инициализаторов в C ++. В этой нотации массив объявляется путем указания ключевого слова «std :: array», за которым следуют тип данных и размер массива, заключенные в угловые скобки. Затем мы должны указать имя массива, которым в нашем случае является «testArray». После этого массив инициализируется путем помещения символа «=», за которым следуют элементы массива, заключенные в фигурные скобки.
После того, как массив объявлен с использованием списка инициализаторов в C ++, у нас есть цикл «for», который проходит через переменную «i», которая переходит к размеру массива и увеличивается после каждой итерации. Затем в этом цикле for у нас просто есть оператор cout, предназначенный для печати элементов массива на терминале. Наконец, код завершается оператором return 0.
Мы скомпилировали наш файл кода C ++ stdArray.cpp с помощью следующей команды:
$ g++ stdArray.cpp –o stdArray
Затем мы выполнили наш объектный файл, используя команду, указанную ниже:
$ ./stdArray
Все элементы нашего массива показаны на следующем изображении:
Пример 2: Использование нотации инициализации списка для объявления массива
В этом примере мы хотим научить вас использовать нотацию инициализации списка для инициализации массива в C ++. Мы написали код C ++, показанный на изображении ниже, чтобы продемонстрировать это:
Код, показанный на изображении выше, во многом похож на тот, который мы использовали в нашем первом примере. Однако отличается только метод инициализации массива. На этот раз мы использовали обозначение инициализации списка. В этой нотации нет символа «=», тогда как остальная часть оператора остается такой же, как и в нотации списка инициализаторов.
После компиляции и выполнения этого модифицированного кода C ++ элементы нашего массива показаны на следующем изображении:
Пример 3: Отдельное объявление массива с последующей его инициализацией
В этом примере мы изучим еще один метод объявления массива с использованием нотации std :: array в C ++. В этом методе мы отдельно объявляем массив с последующей его инициализацией. Код C ++, написанный для этой цели, показан на изображении ниже:
В этом коде мы использовали оператор «std :: array <int, 3> testArray» для объявления нашего массива, тогда как инициализация массива происходит на следующем шаге с использованием оператора «testArray = {10, 20, 30 } ». Остальной код такой же, как и в первых двух примерах.
Результат этого измененного кода C ++ такой же, как и у нашего второго примера, поскольку отличались только метод объявления и инициализации. В остальном все было так же. Вы можете увидеть это на следующем изображении:
Пример 4: Доступ к определенному индексу массива
А теперь сделаем еще один шаг. К настоящему времени вы должны были четко понять три различных метода объявления и инициализации массива с использованием нотации std :: array в C ++ в Ubuntu 20.04. Теперь мы расскажем, как получить доступ к определенному индексу массива. Чтобы показать вам это, мы написали код C ++, показанный на изображении ниже:
В этом примере мы использовали обозначение, используемое в нашем третьем примере, для объявления и инициализации нашего массива. После этого мы хотели получить доступ ко второму индексу нашего массива, то есть testArray [1]. Для этого мы просто использовали ту же нотацию, что и только что начали с нашего оператора «cout» в нашем коде.
Когда мы скомпилировали и выполнили наш код C ++, второй элемент нашего массива был отображен на терминале, как показано на следующем изображении:
Пример 5: Изменение значения, присвоенного определенному индексу массива
В этом примере мы хотим объяснить вам метод изменения значения определенного индекса массива, который уже был ему назначен. Для этого вам нужно будет увидеть код, показанный на изображении ниже:
В этом примере мы объявили и инициализировали наш массив, используя ту же нотацию, что и в нашем третьем примере. После этого мы хотели изменить значение, присвоенное второму индексу массива, на «25». Для этого мы использовали оператор «testArray [1] = 25». Затем мы просто отобразили измененное значение второго индекса нашего массива на терминале, за которым следует оператор «return 0».
Когда мы скомпилировали и выполнили этот код C ++, измененное значение второго индекса нашего массива, то есть 25, появилось на нашем терминале, как показано на следующем изображении:
Заключение
Эта статья была посвящена использованию нотации std :: array в C ++ в системе Ubuntu 20.04. Сначала мы поделились с вами причиной использования этой нотации в C ++. Объяснив эту причину, мы реализовали пять различных примеров на C ++, чтобы показать вам использование нотации std :: array. С помощью этих примеров вы можете удобно объявлять, инициализировать, отображать, изменять и т.д. Массивы, используя нотацию std :: array в C ++ в Ubuntu 20.04.