V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  limhiaoing  ›  全部回复第 5 页 / 共 12 页
回复总数  237
1  2  3  4  5  6  7  8  9  10 ... 12  
2017 年 5 月 13 日
回复了 AirSc 创建的主题 问与答 选择什么杀毒软件 2017.05
只用了 Windows Defender。
@sbabybird
想探讨原因就不应该用这种标题!
这代码能编译通过?
2017 年 4 月 29 日
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@limhiaoing
说错了,是 std::vector::at 抛的异常。
2017 年 4 月 29 日
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@owt5008137
另外这个 bug 并不是构造函数抛异常导致的,bug 单里 Tomasz Kamiński 的例子是 std::basic_string::at 抛的异常。
2017 年 4 月 29 日
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
15 年报告的 bug,但 gcc 似乎不着急解决。
bug 单里 Tomasz Kamiński 的例子的写法在 C++11 其实还是挺常见的。
在 gcc 解决前想继续使用 gcc 编译的话可以用代码静态分析扫描一遍,给 aggregate initialization 的匿名对象加个变量名就好了。
2017 年 4 月 29 日
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@owt5008137
C++引入异常的一个原因就是用于报告构造函数错误,所以构造函数抛异常是很合理的做法。
这个 bug 使用了 C++11 的特性,意味着老的代码不需要有这方面的顾虑。
2017 年 4 月 28 日
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@AngelCriss
都说是 bug 了
2017 年 4 月 24 日
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@geelaw
真不知道说你什么好,性能高必须用 malloc ?
高性能程序都是用内存池的好吗?
另外 vector 有性能问题是你不会用。
2017 年 4 月 24 日
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
忘了回答你最后一句了,我写代码确实从来不用 malloc 。
2017 年 4 月 24 日
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
上面的链接有用 std::unique_ptr 管理文件资源的例子。
2017 年 4 月 24 日
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
http://en.cppreference.com/w/cpp/memory/unique_ptr
sto::unique_ptr 的 deleter 是可定制的,你想释放其他资源定制下 deleter 就可以了。
另外 不明白你是什么需求非得用 malloc 而不能用 std::make_unique 。
2017 年 4 月 24 日
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
auto a = std::make_unique<char[]>(0x1000);
其实现代 C++不需要手动写任何的 new 和 delete 也能把内存资源管理得很好。
举个例子 https://github.com/lxrite/DawnPlayer 是我写的一个 flv demuxer 涉及到大量的内存分配和释放,但是 C++部分的代码一个 delete 都没有写。
2017 年 2 月 15 日
回复了 vertigo 创建的主题 分享创造 [另类想法] 如何保证一条消息十几年后才能被读取
@dallaslu
怎么穷举?首先不知道原文长度,另外摘要算法是 1 对多的映射,得到相同的摘要也没办法证明它就是原文。。
@limhiaoing
而关于 future/promise 用于延后执行,可以看下这个。
http://en.cppreference.com/w/cpp/thread/async
std::launch::deferred enable lazy evaluation
@morethansean
``` cs
var task = Task.FromResult<int>(1 + 2);
new Action(async () => {
await task;
Console.WriteLine("1");
})();
Console.WriteLine("2");
// Output:
// 1
// 2
```
``` cs
var task = Task.Delay(1); // delay 1ms
new Action(async () => {
await task;
Console.WriteLine("1");
})();
Console.WriteLine("2");
// Output:
// 2
// 1
```
C#的 async 、 await 是这样的,立即可以完成(代码 1 )的,可以同步执行先输出 1 再输出 2 ,需要 1ms 才能完成的(代码 2 ),才必须异步先输出 2 再输出 1 。
C#应该是最早使用 async 、 await 语法糖的语言,之后才被各语言争相效仿(如果有更早的请指正),这种允许同步执行的 await 也被证明设计上没有错误,所以 ES7 如果是强制异步的话,就是设计哲学的问题了。
@morethansean

task 或者 future/promise 抽象并不一定要异步,可以是延后执行,现在在上班,晚上再具体回复你。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5562 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 07:51 · PVG 15:51 · LAX 23:51 · JFK 02:51
♥ Do have faith in what you're doing.