V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lonewolfakela  ›  全部回复第 12 页 / 共 15 页
回复总数  295
1 ... 4  5  6  7  8  9  10  11  12  13 ... 15  
2020-11-12 10:51:51 +08:00
回复了 James369 创建的主题 程序员 想学 C++,能不能直接从最新的 C++20 开始?
@neoblackcap 按照 https://en.cppreference.com/w/cpp/compiler_support 这里给出的信息,gcc 、clang 、msvc 三家里,clang 的进度是最慢的一个……
2020-11-08 10:52:25 +08:00
回复了 AndyAO 创建的主题 问与答 为什么 C 和 Java 声明数组的语法不同,有什么故事吗?
相比之下,type[] array 这种风格的声明是更直接的一种:声明的左半部分是“被声明变量本身的类型”,右半部分是“被声明变量的名字”。
这种写法确实更符合更多人的直觉(对数组类型还不太明显,但是如果你写一个返回函数指针的函数指针就能明白 c 语言的那种风格有多不直观了),所以比较新的语言更多地都是采用 type[] array 风格的。
2020-11-08 10:48:24 +08:00
回复了 AndyAO 创建的主题 问与答 为什么 C 和 Java 声明数组的语法不同,有什么故事吗?
c 语言的所有类型声明都遵守一个基本的格式:一个“类型” + 一个“用法范例”,数组也不例外
就以数组声明为例子:
int array[1000]
这个意思是说,如果我们按照
array[整数]
这样的格式写一个表达式,就能得到一个 int 型的结果。

如果说数组声明对这个格式的体现还不太明显的话,可以看看函数指针的声明:
int (*p) (int, int)
这表示,如果我们按照
(*p)(整数, 整数)
这样的格式写一个表达式,就会得到一个 int 型的结果。

所以总结下来,c 语言声明语句最左侧其实是写的“这个变量在正确使用后会得到一个什么类型的结果”而不是“这个变量本身是什么类型”,而除开最左边的那个类型之外,声明的右半部分其实是对被声明变量的使用方法的一个示例。
@amiwrong123 “我这么理解没错把。” —— 不完全正确。async 函数会返回一个 future 类型的右值,然后这个右值触发了 shared_future 的一个构造函数 [shared_future( future<T>&& other ) noexcept] ;此时 future 的内部状态会被移动到 shared_future 里——如果你对 c++的“移动”这一概念不太熟悉的话,你可以简单理解为 future 的某些成员变量被先拷贝到 shared_future 里面,然后 future 里这些已经被拷贝过的变量就全部清空为 null 了。所以正常情况下,这个被移动过的 future 在析构的时候会检查自己的成员变量,发现是 null,就不会做 delete 之类的操作。
将一个 shared_future 拷贝给另一个 shared_future 的话,默认执行的则不是移动而是拷贝构造 /赋值函数。shared_future 内的“状态”(通常是一个指针)确实会发生浅拷贝,但是在浅拷贝的同时还会有一个引用计数+1 的操作; shared_future 在析构的时候是会检查引用计数的,所以并不应该发生错误 delete 两次的问题。
事实上 future 和 shared_future 之间的关系有点类似于智能指针里的 unique_ptr 和 shared_ptr,你可以类比着理解一下。

另外我又仔细想了想你这个应用场景,感觉你完全用不着用 async 和 future 这套东西啊。你的消息队列完全只需要是一个 std::vector<std::function<void()>>就可以了。你这里用 async 只会增加 debug 难度……
虽然不知道是为啥,但是有一点很有趣的就是,你这个报错的好像是 std::future 的析构函数而不是 std::shared_future 的析构函数。似乎 std::async 返回的 std::future 在已经被 moved 的情况下,析构的时候却爆炸了。
你这个场景里有什么必须使用 std::shared_future 的必要么?能不能直接用 std::future ?说不定避开“析构已经 moved 的 std::future”就能绕过这个问题?
2020-10-14 17:29:32 +08:00
回复了 mkAPSGO 创建的主题 问与答 话说 WPS 跟 Microsoft 的实质区别是什么?
@QBugHunter WPS 是开源软件?
2020-10-12 09:53:13 +08:00
回复了 aloyuu 创建的主题 问与答 投票了,兼顾苹果和安卓, Java 和 C#,用哪个?
@mara1 mac 上写 c#可以试试 Rider 这个 IDE
但是既然只是用 xp 看 IE 的话为啥要换 ssd 呢……
2020-09-29 20:08:57 +08:00
回复了 gxgxxn 创建的主题 问与答 Win10 的 NVIDIA 控制面板似乎不能修改程序使用的显卡?
Win10 已经全面接管了相关设置,所以这个就在系统设置里设置就好了,显卡控制面板已经不管这个了
2020-09-22 09:22:48 +08:00
回复了 haifenluo 创建的主题 MacBook Pro Macbook pro 2018 合盖使用 wifi 性能极度下降
https://www.v2ex.com/t/58584
https://www.zhihu.com/question/369317566
好像从差不多 10 年前就有这毛病了……应该就是天线被盖子挡住了吧……
2020-09-11 17:16:45 +08:00
回复了 20015jjw 创建的主题 Windows 我的 windows 10 游戏机已经从不能睡眠变成不能关机了
@20015jjw 如果确定是快速启动的问题的话,不一定是 windows 的 bug (虽然确实有可能是)。也有可能是主板驱动之类的和系统兼容性不太好,升 /降级各种驱动可能会有帮助……不过既然关掉快速启动就没问题那就不折腾了也行,反正有 SSD 没有快速启动开机也很快。
2020-09-11 14:20:06 +08:00
回复了 20015jjw 创建的主题 Windows 我的 windows 10 游戏机已经从不能睡眠变成不能关机了
虽然我觉得楼主大概已经试过了,不过以防万一还是问一下,你试过关掉快速启动之后能正常关机么。(因为,一般来讲,shutdown -s -t 0 和普通关机最大的区别就是 shutdown 是无视系统设置地不使用快速启动的……)
在文件名后面跟一个冒号是有特殊含义的,表示这个路径指向该文件的一个 ntfs alternate data streams (可以去搜搜这个名词)。
具体到这里,你的第一个例子其实是创建了一个名字叫 foo 的文件,并为这个文件创建了一个名字叫 bar.txt 的 alternate data stream,并且之后如果你写入了内容的话,写入的内容都是会存到这个 alternate data stream 里去的。
2020-08-08 20:54:48 +08:00
回复了 CasperLee 创建的主题 问与答 iOS 13.6 有什么开启微信 Call Kit 的方法吗?
@Tyuans iPhone X 及更早的型号还可以越狱
记事本可以正确显示各种奇葩文字,横着的竖着的叠着的左右横跳的……相比之下 vscode 弄了快四年都弄不好 RTL (由右至左的文字)支持( https://github.com/microsoft/vscode/issues/11770 )。
然而 vscode 作为代码编辑器,主要还是把 ASCII 码文字正确显示就能完成其主要功能了。而记事本作为一个系统的默认的基本文本编辑器,用户会用它来查看各种各样的语言和内容的文档,所以支持各种语言都是有必要的。
所以记事本速度慢实在是很正常的事情,毕竟要支持这些奇怪的东西都是有代价的。
@levelworm 如果是不想退出的话,可以参考 https://stackoverflow.com/questions/5941158/gdb-print-to-file-instead-of-stdout,设置 gdb 把输出写进文件里,之后打印文件什么的应该就没啥困难的了
所以你为啥不想通过 pipeline 来输出到打印机呢……
2020-07-18 20:34:54 +08:00
回复了 vcfghtyjc 创建的主题 Linux Linux 下如何关闭 CPU cache?
要搞这种级别的 profiling 的话,一般都是弄个 gem5 之类的 cpu 仿真器吧……
2020-06-26 10:12:55 +08:00
回复了 acainiao 创建的主题 Visual Studio Code visual studio 项目文件过多,很卡怎么解决
@JohnLou VS for Mac 和那个宇宙第一的 VS 不是一个东西……两者差别蛮大的
1 ... 4  5  6  7  8  9  10  11  12  13 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3233 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 12:03 · PVG 20:03 · LAX 05:03 · JFK 08:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.