— Да кому ты нужен со своими шаблонами в C++?
— Им
— Им
djinni.co
C++ templates Engineer (constexprs and constexpr ifs, SFINAE, enable_if, C++20 concepts, making static_assert(false)) at MoveUp
We are in the early stages of making a few 3D mobile games. Our goal is to create well-designed products and we develop our own game engine.
Now we are developing a mobile game based on real...
Now we are developing a mobile game based on real...
😁7🤡4🤔1🖕1
#prog #rust
Пусть есть такой код:
Пусть есть такой код:
fn main() {
let ptr: *const u32 = std::ptr::null();
let a = ptr + 5;
let b = ptr[3];
}
Он не компилируется, так как в Rust нет арифметики указателей с синтаксисом плюсов и квадратных скобок:error[E0369]: cannot add `{integer}` to `*const u32`
--> src/main.rs:3:17
|
3 | let a = ptr + 5;
| --- ^ - {integer}
| |
| *const u32
error[E0608]: cannot index into a value of type `*const u32`
--> src/main.rs:4:13
|
4 | let b = ptr[3];
| ^^^^^^
После этого PR rustc теперь предлагает соответствующие методы:error[E0369]: cannot add `{integer}` to `*const u32`
--> src/main.rs:3:17
|
3 | let a = ptr + 5;
| --- ^ - {integer}
| |
| *const u32
|
help: consider using `wrapping_add` or `add` for pointer + {integer}
|
3 | let a = ptr.wrapping_add(5);
| ~~~~~~~~~~~~~~ +
error[E0608]: cannot index into a value of type `*const u32`
--> src/main.rs:4:13
|
4 | let b = ptr[3];
| ^^^^^^
|
help: consider using `wrapping_add` or `add` for indexing into raw pointer
|
4 | let b = ptr.wrapping_add(3);
| ~~~~~~~~~~~~~~ ~
GitHub
Add help for trying to do C-like pointer arithmetics by jieyouxu · Pull Request #112261 · rust-lang/rust
This PR adds help messages for these cases:
fn main() {
let ptr1: *const u32 = std::ptr::null();
let ptr2: *const u32 = std::ptr::null();
let a = ptr1 + 5;
let b = ptr1 - 5;
let...
fn main() {
let ptr1: *const u32 = std::ptr::null();
let ptr2: *const u32 = std::ptr::null();
let a = ptr1 + 5;
let b = ptr1 - 5;
let...
👍14🥰1
#prog #algo
Немного о том, почему xor — фиговая функция для комбинирования хешей.
https://stackoverflow.com/a/27952689
Немного о том, почему xor — фиговая функция для комбинирования хешей.
https://stackoverflow.com/a/27952689
Stack Overflow
Why is XOR the default way to combine hashes?
Say you have two hashes H(A) and H(B) and you want to combine them. I've read that a good way to combine two hashes is to XOR them, e.g. XOR( H(A), H(B) ).
The best explanation I've found is touched
The best explanation I've found is touched
👌7🖕1
Блог*
#prog #rust #моё Исторически решение задач с бектрекингом является более простым в функциональных ЯП с персистентными структурами данных. Взял состояние, немного поменял его и получил новую версию, делаешь на ней рекурсивный вызов, если решение зашло в тупик…
Оказывается, подобный подход используется в ena — реализации union-find, используемой в rustc. Вот вам и практический пример.
docs.rs
ena::undo_log - Rust
Module which contains the snapshot/rollback functionality of the `ena` data structures.
👍3🖕1
#prog #rust #article
Iterating on Testing in Rust
Или о том, что не так с тестированием в Rust и что можно с этим сделать.
Iterating on Testing in Rust
Или о том, что не так с тестированием в Rust и что можно с этим сделать.
👍3🖕1
Forwarded from shitposting 3.0 [+ dragons]
This media is not supported in your browser
VIEW IN TELEGRAM
❤11🥰4😱4🤮1🖕1
dev optozorax
Видео про самые дикие числа в математике. #repost Если вы считаете что преисполнились в своём познании зная про i²=-1 и ε²=0 (дуальные числа), то приготовьте уран. В данном видео показывается простая игра, в которой есть два игрока и граф, прикреплённый…
Спустя почти два года у меня наконец дошли руки таки посмотреть это видео. Спасибо, Илья, это действительно офигенно.
👍4🎉4🌚1🖕1