V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 38 页 / 共 177 页
回复总数  3531
1 ... 34  35  36  37  38  39  40  41  42  43 ... 177  
2021-03-10 07:50:49 +08:00
回复了 xuegy 创建的主题 C++ 移植了一个库,眼睛快要瞎了。
@Tony042 #4 这里需要的是 ctor 不是 operator=。

@xuegy #2 因为 https://en.wikipedia.org/wiki/Most_vexing_parse
但比较奇怪,一般来说用 = 初始化不会有歧义问题,反而是用函数调用初始化容易有“最烦人的解读”。
2021-03-08 12:23:17 +08:00
回复了 sillydaddy 创建的主题 分享发现 gpg 加密文件:一份加密文件,可以被不同的密码解密
这个东西是朴素的广播加密,也算不得“上当”。

在多个用户自行生成密钥时,更巧妙的工具叫做临场广播加密( ad hoc broadcast encryption )。
2021-03-07 17:33:57 +08:00
回复了 lxl1531 创建的主题 Python Python 的字符串拼接函数 join()是怎么实现的
是有更多“临时对象”所以才慢。定量考虑的话,join 需要 N 的时间时,朴素累加可能需要 N^2 的时间,我能想到的最快的累加也可能会需要 NlogN 的时间。

什么叫做“自己实现 join 的功能”?

如果你要求相同的时间复杂度且不能用 Python 的 join 恐怕不行,因为 join 是 Python 自己实现的,可以想象它先算好最终长度,然后分配内存,最后写入数据。

如果只是希望实现相同的功能,不论时间,则用平衡分组连接比较好,这只需要 NlogN 的时间。
从逃逸分析的角度,比较像是 OnAfterDeserialize 改变了 name 。
2021-03-06 20:06:38 +08:00
回复了 hupo0 创建的主题 JavaScript 感觉这次写的库能比 js 原生数组方法要快
这个问题和数组遍历几遍没关系,主要区别在于内存分配。

Array.map 每次都要分配新的数组,可以想象 no-stream 的 map 只是变换迭代器,当然快。当然这不能怪 Array,毕竟功能不同,要写出值得比较的代码可以对 mf 复合自己 map_count 次,再变换成 reducer,然后直接在 data 数组上用 reduce 。

而且好好写 for 循环不香吗?
2021-03-06 12:00:52 +08:00
回复了 chinesedragon 创建的主题 程序员 IDEA 的 Ctrl+Shift+Enter 与 Win10 的 Ctrl+Shift 冲突怎么破?
可以关掉 Ctrl+Shift 输入法切换,用 Windows+Space 。
2021-02-27 02:47:32 +08:00
回复了 yiouejv 创建的主题 C++ 虚函数,虚表深度剖析
正确标题:浅度剖析

深度剖析至少应该涉及多重继承、虚拟继承、虚拟析构的问题。
2021-02-24 19:09:11 +08:00
回复了 v2webdev 创建的主题 程序员 “宕机”一词在技术文档中如何表达?
2021-02-24 15:07:25 +08:00
回复了 v2webdev 创建的主题 程序员 “宕机”一词在技术文档中如何表达?
@v2webdev #22 我并不在意这个词的意思,而是觉得很好玩,因为我一开始以为额这个例子是已经写好的例子,但看其他页面可以发现这是占位符,于是这是一个巧合地自我指涉的例子。
2021-02-24 14:59:39 +08:00
回复了 v2webdev 创建的主题 程序员 “宕机”一词在技术文档中如何表达?
https://i.loli.net/2021/02/24/xXWPv2MAVtkqYdJ.png

不推荐使用只有特定人群才了解的词语……“TW 们”是什么?
#3 可能是在对 a 操作之前 master 已经领先 origin/master 了
看一下 git 的历史图不就知道了么 😅

除了不小心提交到了主分支上,也可能是有人让远程分支倒流,然后本地也意识到了远程的倒流。
@goldiorl #9 另外 C++/WinRT 有 co_await resume_background{}; 这种构造,而 .NET 的 awaiter 也可以选择是否返回原来线程,所以并不是必然回到原来的线程。
@goldiorl #9 如果(任何 making sense 的)语言有协程的语言构造(即 async-await ),你是可以马上看出来一段代码中间是否可能被打断的。这里没有 await,所以不可能发生这种事情。

如果代码里有 await,那你是知道线程和协程无配对关系的,自然不会期待 ThreadLocal 能够保护多个协程,因为它不叫 CoroutineLocal 。
2021-02-21 05:41:02 +08:00
回复了 misakawaque 创建的主题 C++ 怎样获取浏览器当前的 url?
如果是 Internet Explorer (或者任何实现了 IWebBrowser2 的浏览器)可以用 IWebBroswer2.LocationURL 属性。
其他设计良好的浏览器可以通过 UI Automation 定位地址栏得到 URL 。
ThreadLocal 在那个语言里的意思很可能是 受那个语言托管的线程-local,而不是 操作系统线程-local,就像是操作系统线程也不是指处理器线程。在这种定义下你的问题不存在。

async-await 这个语法很可能本来就没有规定每次 await 之后所在的(被语言托管的)线程。比如 UI 相关的代码里,由于 UI 只可以在 UI 线程操作,await 通常会回到原来的线程进行。
2021-02-19 04:07:04 +08:00
回复了 dangyuluo 创建的主题 C++ C++中的一个 ambiguous call 问题
更好的问题是:知道数组长度有什么用?

既然是 C string,那必然是 null-terminated,知道数组长度无意义,反正都需要通过遍历找到正确长度。如果数组长度内没有出现空字符,说明传入的不是 C string,根据 garbage-in garbage-out 原则此时直接定义为未定义行为即可。
2021-02-18 22:49:41 +08:00
回复了 James369 创建的主题 程序员 任何的递归调用都可以转换为迭代吗?
任何实际做出来的递归本来就是迭代,CPU 自己执行这些命令的时候就是循环运行每个指令完成的。
2021-02-18 21:19:27 +08:00
回复了 pheyer 创建的主题 Google 有没有人发现, Google 的搜索关键词开始在 URL 中加密了
第二个网址里 q 也是明文写出来的啊
1 ... 34  35  36  37  38  39  40  41  42  43 ... 177  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2673 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 15:18 · PVG 23:18 · LAX 07:18 · JFK 10:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.