Pointer & Reference
- C
- C++
- C#
- Java
- Rust
- Go
- Javascript
- Typescript
- Python
int value = 10;
int *pointer = &value;
*pointer = 20;
printf("%d", value);
int value {10};
int* pointer {&value};
int& reference {value};
*pointer = 20;
reference = 30;
// References are the default for class instances.
// Pointers are available only in unsafe code.
var user = new User();
User sameUser = user;
unsafe
{
int value = 10;
int* pointer = &value;
}
// No Native Pointer Support.
// Object variables hold references. Primitive variables hold values.
User user = new User();
User sameUser = user;
let value = 10;
let reference = &value;
let mut other = 20;
let mutable_reference = &mut other;
*mutable_reference = 30;
// Raw pointers are available, but dereferencing them requires unsafe.
let raw_pointer: *const i32 = &value;
value := 10
pointer := &value
*pointer = 20
fmt.Println(value)
// No Native Pointer Support.
// Objects and arrays are shared by reference-like values.
const user = { name: "Ada" };
const sameUser = user;
sameUser.name = "Grace";
// No Native Pointer Support.
// Objects and arrays are shared by reference-like values.
type User = { name: string };
const user: User = { name: "Ada" };
const sameUser = user;
sameUser.name = "Grace";
# No Native Pointer Support.
# Names refer to objects. Mutable objects can be changed through any reference.
user = {"name": "Ada"}
same_user = user
same_user["name"] = "Grace"