V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wutiantong  ›  全部回复第 26 页 / 共 32 页
回复总数  622
1 ... 18  19  20  21  22  23  24  25  26  27 ... 32  
2018-12-19 18:55:07 +08:00
回复了 sky2017 创建的主题 C 关于 C++ std::thread 的疑问
@changnet 啥时候连构造函数都不可控了呢?
2018-12-14 17:28:59 +08:00
回复了 zhiqiang 创建的主题 C C++ delete 对象但内存没被回收?
@zhiqiang 就感觉你一直在处理好大一个烂摊子。。。
2018-12-13 17:05:12 +08:00
回复了 station 创建的主题 C C 语言萌新求助,卡住了
@wens07 f(x,y)==0 返回的 bool 值转为下标值 0/1,前面是个字符串字面量,用下标值从中取出对应 char。
2018-12-13 15:05:53 +08:00
回复了 innoink 创建的主题 C start 和 end 配对不会觉得别扭么
@ooo3o 我也有对齐强迫症,我用 pos/end 或者 beg/end
2018-12-13 15:00:47 +08:00
回复了 innoink 创建的主题 C start 和 end 配对不会觉得别扭么
既然都提到 finish 了,再加个 close 吧
2018-12-13 14:59:08 +08:00
回复了 zhiqiang 创建的主题 C C++ delete 对象但内存没被回收?
@arzterk 都已经 delete 了 shrink_to_fit 就不重要了吧。
2018-12-13 14:32:44 +08:00
回复了 zhiqiang 创建的主题 C C++ delete 对象但内存没被回收?
@zhiqiang 好像就我一个人在写 C++...

我感觉楼上说得有道理,虽然我不懂这块。。。
2018-12-13 13:39:36 +08:00
回复了 zhiqiang 创建的主题 C C++ delete 对象但内存没被回收?
boost::circular_buffer 的模版参数是什么?
你 new 的对象是 vector 还是 circular_buffer 还是 circular_buffer 的模版参数?
2018-12-10 10:34:37 +08:00
回复了 apisces 创建的主题 职场话题 准备离职,感觉被骗,浪费了半年
@careofzm 计算机科学的缩写,也就是科班出身的意思
2018-12-10 09:47:29 +08:00
回复了 apisces 创建的主题 职场话题 准备离职,感觉被骗,浪费了半年
emmm, 中间那一段,说实话,没看懂
最终结论还是靠“猜”来得到的,做的实验对证明结论也没有直接帮助。

talk is cheap
2018-12-04 17:26:08 +08:00
回复了 xjr1022 创建的主题 C C 语言,碰到个很让人疑惑的问题
在 C++里这属于典型的 ub 了,因为函数传参时 eval 顺序是未定义的。
单就这个例子来说,先算了(a++) 后算了(a),结果没毛病。
2018-12-04 17:20:36 +08:00
回复了 yuikns 创建的主题 C 想要实现 C++ 管理一段内存块
2018-12-04 16:43:46 +08:00
回复了 yuikns 创建的主题 C 想要实现 C++ 管理一段内存块
@yuikns

std::shared_ptr<string_view> 这个用法就很诡异了,几乎不存在。。。
因为 string_view 这个类不负责底层指针的生命周期管理,给它外面套一层 shared_ptr 并不会改变什么。。。

你说的这个需求,我以前刚好粗略实现过一个很类似的,待会可以发一下。

但说实在的,这种东西真的是用途不大,毕竟 immutable 太死板了。
目前来看最佳实践应该是 string + string_view 这种形式。
2018-12-04 15:33:14 +08:00
回复了 yuikns 创建的主题 C 想要实现 C++ 管理一段内存块
正如 @ipwx #8 所说,针对 shared_ptr 的这种封装可以认为是一种伪需求。
2018-12-04 15:30:34 +08:00
回复了 yuikns 创建的主题 C 想要实现 C++ 管理一段内存块
C++里面做数据结构封装时的最佳实践就是值语义,而你这段代码就是一个典型的违反值语义的示范。
那么这会带来什么问题呢?请看下面的例子:

Bytes s1("Hello");
auto s2 = s1;
s2[1] = 'a';

对 s2 的改动会意外的传递给 s1,在现代 C++中这段代码表现出来的行为是完全反直觉的。

同样在内部涉及到大量的动态内存分配操作,而 STL 中的各种容器( vector, set, map )无一例外的遵循着值语义。

C++之所以提倡值语义而不必担心引入额外的性能开销,是因为 C++提供了引用,指针,移动这一系列利器。

也就是说当你实现了一个值语义的 Bytes 后,你就可以免费享受:
1. Bytes &
2. Bytes *
3. Bytes &&
4. std::shared_ptr<Bytes>, std::unique_ptr<Bytes>

而像现在这样一个不遵循值语义的 Bytes 只会引入无尽的混乱。
@wangking 现在没有方案? 那你主题里写的 1 跟 2 是啥?
现有方案的优缺点是啥先讲清楚
2018-11-28 14:33:51 +08:00
回复了 ldd 创建的主题 程序员 咨询一下阿里的同学,在子公司工作有机会进母公司吗?
@ldd 我觉得强调“子公司”的恐怕都不太能转,正常能转的就像楼上说的那样叫“分部” or “有编制”。你还是得事先打听清楚才行。
2018-11-28 14:27:29 +08:00
回复了 ldd 创建的主题 程序员 咨询一下阿里的同学,在子公司工作有机会进母公司吗?
你把人家当跳板时有考虑过这家“子公司”的感受么?
1 ... 18  19  20  21  22  23  24  25  26  27 ... 32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   879 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 20:31 · PVG 04:31 · LAX 13:31 · JFK 16:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.