Вот бы давынкова в президенты . Вроде толковый чел. Но такого не будет.🫠
Please open Telegram to view this post
VIEW IN TELEGRAM
кто сможет занять 500 р под зп?
Please open Telegram to view this post
VIEW IN TELEGRAM
struct vec_api {
template<typename _Vec, typename _Same>
void remover(_Vec& d, _Same obj) {
d.erase(std::remove(d.begin(), d.end(), obj), d.end());
}
};Удаление элемента в векторе
vec_api vapi;
std::vector<uint8_t> _codes = { 0x10,0xFF,0xA0 };
vapi.remover(_codes, 0x10);
Работа с векторами в PahomEngine Новый модуль vec
struct vec_api {
template<typename _Vec, typename _Same>
void remover(_Vec& d, _Same obj) {
d.erase(std::remove(d.begin(), d.end(), obj), d.end());
}
template<typename _Vec>
void resize(_Vec& d, uint64_t size) {
d.resize(size);
}
template<typename _Vec>
void reserve(_Vec& d, uint64_t size) {
d.reserve(size);
}
template<typename _Vec, typename _Same>
void addpb(_Vec& d,_Same obj) {
d.push_back(obj);
}
template<typename _Vec, typename _Same>
void addeb(_Vec& d, _Same obj) {
d.emplace_back(obj);
}
template<typename _Vec, typename... _Args>
void addeb(_Vec& d, _Args&&... args) {
d.emplace_back(std::forward<_Args>(args)...);
}
template<typename _Vec, typename... _Args>
void addpb(_Vec& d, _Args&&... args) {
d.emplace_back(std::forward<_Args>(args)...);
}
template<typename _Vec>
bool isEmpty(_Vec& d) {
return d.empty() ? true : false;
}
};struct threads {
std::vector <std::jthread> _threads;
vec_api vec;
template<typename..._Args>
void loadToJThread(int32_t threads_count,_Args&&...args) {
vec.reserve(_threads, threads_count);
for (int n = 0; n < threads_count; n++) {
vec.addeb(_threads, std::forward<_Args>(args)...);
}
}
};модуль threads в PahomEngine
This media is not supported in your browser
VIEW IN TELEGRAM
IMG_1069.MOV
467.9 MB
тест апскейлера
ориг 720р30
улучшило до 4к60
ориг 720р30
улучшило до 4к60
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Помоги собрать на телефон CMF by Nothing Phone 2 Pro
сбер
2202205023810762
25~к руб
https://donationalerts.com/r/hcpp
хотеть
сбер
2202205023810762
25~к руб
https://donationalerts.com/r/hcpp
хотеть
50👍1
Главная ошибка новичков при работе с массивами это выход за границу массива так как используют std::size();
const int int_array [] = {0,1,2,3,4,5,6,7,8,9};
и обычно пишут
size_t int_array_size = std::size(int_array);
но std::size вернет 10 и если захочешь использовать в логике например
for(int a = 0 ; a < array_size;a++){
std::print("i: {}\n",int_array[a]);
}
то ты выйдешь за границы массива потому то массив начинается от 0
а нужно просто добавить
const int int_array [] = {0,1,2,3,4,5,6,7,8,9};
и обычно пишут
size_t int_array_size = std::size(int_array) - 1;
for(int a = 0 ; a < array_size;a++){
std::print("i: {}\n",int_array[a]);
}
и тогда все сработает правильно
пример
#include <print>
#include <stdint.h>
const int arr[10] = {0,1,2,3,4,5,6,7,8,9};
void bad(){
for(int a = 0; a < std::size(arr);a++){
std::print("i: {}\n",arr[a]);
}
void good(){
for(int a = 0; a < std::size(arr) - 1;a++){
std::print("i: {}\n",arr[a]);
}
int main(){
good(); // выведет от 0 до 9
bad() выведет от 0 до 9 и упадет приложение
}
🔥1