typestar

Aritmética de punteros en Mojo

Sumarle a un puntero lo mueve por elementos completos, nunca por bytes.

from std.memory import alloc


def main():
    var block = alloc[Int](6)
    for i in range(6):
        block[i] = i * 10
    var tail = block + 3
    print(tail[0], tail[1], tail[2])
    var back = tail - 2
    print(back[0])
    block.free()

Cómo funciona

  1. El bloque se llena con asignación por índice, sin más.
  2. block + 3 apunta al cuarto elemento y desde ahí sigue indexando.
  3. Restar retrocede, y solo se libera el puntero original.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
207
Tokens
69
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 64 segundos.

Escribe este fragmento

Paso 2 de 4 en Memoria; paso 18 de 22 en Parámetros y SIMD.

← Anterior Siguiente →