Hello World
C++ Version:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
Rust version:
fn main() {
println!("Hello, World!");
}
Variables and datatypes:
C++ version:
#include <iostream>
int main() {
int x = 5;
double y = 3.14;
std::cout << "x: " << x << ", y: " << y << std::endl;
return 0;
}
Rust version :
fn main() {
let x: i32 = 10; // here i32 is a 32-bit integer
let y = 22; // Rust can infer the type from given value
let z: f32 = 30.0;
x = x + 1; // This will throw an error because x is immutable
}
In rust variable are immutable by default
To make them mutable
fn main() {
let mut x= 5;
x = x + 1;
println!("x: {}", x);
}
But immutable doesnβt means they are constant -
fn main() {
let x = 5;
let x = 10; // You can shadow the variable
println!("x: {}", x);
}
Why need such functionality?
fn main() {
let s = "hello ";
let s = s.trim(); // No need to create a new variable
println!("s: {}", s);
}
Functions:
C++ version
int add(int a, int b) {
return a + b;
}
int main() {
std::cout << "Sum: " << add(5, 3) << std::endl;
return 0;
}
Rust version
fn add(a: i32, b: i32) -> i32 { // Type required
a + b // Note - semicolon is omitted
}
fn main() {
println!("Sum: {}", add(5, 3));
}
Conditionals
C++ version
int main() {
int number = 10;
if (number > 5) {
std::cout << "Number is greater than 5." << std::endl;
} else if (number == 5) {
std::cout << "Number is equal to 5." << std::endl;
} else {
std::cout << "Number is less than 5." << std::endl;
}
return 0;
}
Rust version;
fn main() {
let number = 10;
if number > 5 {
println!("Number is greater than 5.");
} else if number == 5 {
println!("Number is equal to 5.");
} else {
println!("Number is less than 5.");
}
}
Loops
C++ version
int main() {
for (int i = 0; i < 5; ++i) {
std::cout << "Iteration: " << i << std::endl;
}
int j = 0;
while (j < 5) {
std::cout << "While Iteration: " << j << std::endl;
j++;
}
return 0;
}
Rust version:
int main() {
for i in 0..5 {
println!("Iteration: {}", i);
}
let mut count = 0;
loop {
count += 1;
println!("{}", count);
if count > 10 {
break;
}
}
let mut j = 0;
while j < 5 {
println!("While Iteration: {}", j);
j += 1;
}
}
Top comments (0)