duangsuse::Echo
717 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
很辣鸡,可是我果然还是变得 很慢了吧...
simple.c
604 B
#C 随便到网上找了个方法算内联汇编大小
这程序等价么 #CXX
duangsuse::Echo
这程序等价么 #CXX
我始终搞不明白

1. 为什么有些程序要使用这么复杂的控制结构和不明所以的算术,如果只是比较 (size <= actualsize) 为什么写成 (actualsize + 1 > size), 而且还 do while 重复两遍,还在 if 里面重复,用 while 不就可以了?或者也可以 continue; break; 啊?
2. 为什么有些部分写得和一些 Perl 脚本一样,完全没有 C++ 的感觉,甚至冗余一大片

3. 提升建议:可以使用函数式编程 std::function 抽提一些难以抽提的逻辑,比如 stol, stoul 都可以被填成一个模板,FindNode 也可以弄 FindSclarChild, FindMapChild
我真的不明白,为什么就一定要写这么多此 it->second, 它在理论上有必要的优雅性吗?如果在编写的时候是这么写的... 总之不好看吧 (附注: it 是封装的 KvPair)
这是原版的,一堆模板看得简直眼花
沒毛病
考虑到 GSOFont 配置的结构体和普通 replace 的不一样,就算了,可是如此之长的配置加载... 这些代码重复多一遍都是很淡疼的,何况扫描键值的部分别无二致,只是后期操作有变化,就不能使用 Lambda 抽提吗?
还有个简单一点的习惯问题,就是这么多 if 嵌套看的时候是要死人的啊!(何况我一看,这些 if 除了条件执行外没有任何的 else...) 利用控制流预先 return / continue / break 了更好
duangsuse::Echo
还有个简单一点的习惯问题,就是这么多 if 嵌套看的时候是要死人的啊!(何况我一看,这些 if 除了条件执行外没有任何的 else...) 利用控制流预先 return / continue / break 了更好
此外,用 for (const auto& node : childs) 不是更有意义一些,为什么到处用 i j ret tmp 这些毫无意义的名字啊... i 在是数值的时候还是可以用的,YAML::Node i; 这是不是混淆了...
This media is not supported in your browser
VIEW IN TELEGRAM
我不能继续下去了,虽然可能有意义... 一些建议我发给 YSC 算
同时,我这里也没有 VC++ 的 SDK 和 Windows 测试环境,不能编译测试我心虚
duangsuse::Echo
很辣鸡,可是我果然还是变得 很慢了吧...
没办法,毕竟看代码少了
还是停止『好好学习』算了 😓

我看这样下去,最终才是搬砖的下场
一些书还是得继续看下去 #school #life

如此学习科学文化知识... 才叫不学习,以后成为废柴的话
为什么一定要学习『科学文化知识』呢。
duangsuse::Echo
这程序等价么 #CXX
b+1 > a
(a,b in N) => b >= a
是这么考虑的:
+ 若 b-a = 1 (b = a+1; b+1>a)
+ 若 b-a = 0(b=a; b+1 > a)
+ 若 b-a = 2 (b = a+2; b > a)
+ b-a = -1 (b < a; b+1 = a; b+1 = a) 🤔???
Forwarded from dnaugsuz
可以 type safe 的,指针损失了长度信息,类似 void* vs. std::array
Forwarded from dnaugsuz
现在看了也头疼,尤其是那个也是曾经我自己写的 get_char(usize idx)... 算了
真的想打印下来好好看...
突然懂了,其实就是不断递交给父层取 item 的递归子程序,一点计算都没有,真垃圾啊....
if (idx >= this->size()) return '\00'; 这条语句不 sound,明明知道是超出索引(甚至 i > len+1)还给 '\00'....
看懂了,就是 C++ 的 iterator 和递归函数

void copy_to_recurse(char *&beg/*mut*/, char *end) {
if (this.head !=nullptr) this.head.copy_to_recurse(stm);
usize sziter = end - beg;
usize szcopy = min(len, sziter); // intersection
memcpy(beg, this.str, szcopy);
beg += szcopy;
}
This media is not supported in your browser
VIEW IN TELEGRAM