Rust and C++
Rust for Modern C++ devs (2022) – Graydon's talk.
Mixing mutable and immutable references
fn main() {
let mut v = vec![1, 2, 3];
let mut first = &mut v[0];
v.push(4);
*first += 1;
println!("{}", v[0]);
}
#include <iostream>
#include <vector>
int main() {
auto v = std::vector<int>{1, 2, 3};
auto& first = v[0];
v.push_back(4);
first++;
std::cout << first << std::endl;
return 0;
}
import Foundation
var v = [1, 2, 3]
var first = v.withUnsafeMutableBufferPointer { $0 }[0]
v.append(4)
first += 1
print(v[0])