---
title: "subscript(_:)"
framework: swift
role: symbol
role_heading: Instance Subscript
path: "swift/unsafemutablebufferpointer/subscript(_:)-2vl82"
---

# subscript(_:)

Accesses the element at the specified position.

## Declaration

```swift
subscript(i: Int) -> Element { get nonmutating set }
```

## Parameters

- `i`: The position of the element to access. i must be in the range 0..<count.

## Overview

Overview The following example uses the buffer pointer’s subscript to access and modify the elements of a mutable buffer pointing to the contiguous contents of an array: var numbers = [1, 2, 3, 4, 5] numbers.withUnsafeMutableBufferPointer { buffer in     for i in stride(from: buffer.startIndex, to: buffer.endIndex - 1, by: 2) {         let x = buffer[i]         buffer[i + 1] = buffer[i]         buffer[i] = x     } } print(numbers) // Prints "[2, 1, 4, 3, 5]" Uninitialized memory cannot be initialized to a nontrivial type using this subscript. Instead, use an initializing method, such as initializeElement(at:to:) note: Bounds checks for i are performed only in debug mode.
