/tmp/duangsuse.sock
23 subscribers
303 photos
3 videos
92 files
337 links
从 duangsuse::Echo (@dsuse) 跟进出来的分支,将在作者恢复原帐号访问的时候合并删除。
Download Telegram
Forwarded from Deleted Account
同时当皇帝和农民就是这样,数学再好算法再好怎么样呢,可惜写出的代码都不敢看……
Forwarded from Deleted Account
这类大佬应该去学学写汇编,再汇编 SIMD,各种 movzx movsx signness 运算,再颅内模拟一下二进制补码运算,尝试一下手工 sub mov jnz 好了,用啥 C++ 啊,不如汇编性能高,无结构编程多自由。
Forwarded from Deleted Account
我可一点不觉得某些 C++ 程序员有看不起 Kotlin、Java 的底气,先把自己的代码写好再来。
权利越大责任越大,写一个本来很混乱的语言还能写好那才是本身,让人不明觉历算什么。
真是没事找事 #China #life #Low
Forwarded from 荔枝木
Bilibili galgame 创意大赞,虽然以前就有代码弹幕。
excited 啊老哥,a-b > 0 这种翻云覆雨循环都用上了,不知道是不是可以优化得飞快!
本苏最讨厌刻意写烂代码的人了,既不学术也不工程,全拉出去给 TCC 续一秒。
写明白了,错误和不当实现便无处遁形,implict 虽好,可不要滥用哦。
Qt 真是的,ByteArray 的 size() 是 int,但 IODevice 却用 qint64
要统一都统一,要用底层的区别化定义都用区别化定义,这么弄算什么,莫名其妙。
这一点还是 Rust 好,我以前还觉得它的数组用 usize 什么的很奇怪呢。
using BoxLayoutConfig = std::function<void(QBoxLayout*)>;
BoxLayoutConfig withDefaults = [](QBoxLayout*){};
auto verticalLayout(BoxLayoutConfig init, QWidget* childs...) -> QVBoxLayout* {
auto lay = new QVBoxLayout; init(lay);
va_list ap; va_start(ap, childs);
for (QWidget* child = va_arg(ap, QWidget*); child != nullptr; child = va_arg(ap, QWidget*)) {
if (child->isWidgetType())
lay->addWidget(child);
else lay->addItem(reinterpret_cast<QLayoutItem*>(child));
}
va_end(ap);
return lay;
}

改造是失败的,即便成功了运行时开销也太大,不如直接用 UI XML
所以其实 Qt 的 Widgets XML 用的一直就是一种很工程很民科的方法,为了解决这个问题也是很久以后才有了 Quick,其实还是不如 Kotlin 直接用 block 来得优雅。
Forwarded from Harry Yu