V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wevsty  ›  全部回复第 37 页 / 共 72 页
回复总数  1440
1 ... 33  34  35  36  37  38  39  40  41  42 ... 72  
2017-10-25 11:33:17 +08:00
回复了 scenix 创建的主题 C C++的 set 爆内存,求助
@williamscorn 按照我的理解,从楼主的意图来说,也许不应该用 std::set,而是用 std::list 或者 std::vector 更合适一些。
2017-10-25 11:24:56 +08:00
回复了 scenix 创建的主题 C C++的 set 爆内存,求助
这个 cpp 写的。。。
line.substr(start,end)这里的问题前面已经有人指出来了,end 不应该是结束为止的标号,而是复制的长度。
同理 end = line.size() - 1;一样是有问题的。
unordered_map<string, unordered_set<string>* > big_dict;
这个定义是一个 key 指向一个不会重复的 string 指针,big_dict[key]->insert(&value);实际是插入了 value 这个 string 的指针,然而 value 在循环结束的时候就因为生存周期结束而销毁了,所以你才觉得这样不会爆内存。

不要用那么多指针来掩饰,你程序里想表达的数据结构实际上就是:
unordered_map<string,unordered_set<string> >
在 map 里套 set,那么 key 至少存在 2 次,存在重复查找,重复存放一堆问题,效率能高才怪了
比如日志中某一行是
“ key value1 value2 ”那么运行完成以后数据结构实际上是
{'key':{'key':'value2'}}
而你的 python 代码对应的结果应该是
{'key':['value1','value2']}
从结果上看,不要谈效率,代码的实现完全都是不对的。
2017-10-25 10:41:16 +08:00
回复了 HunterMz 创建的主题 问与答 求助大陆和香港账户的转账问题
最好是楼主自己去开个香港银行卡,最好是和朋友同一家银行,这样朋友转给你就免费了。
如果都用工银亚洲的话,国内工行 atm 取款免费。
2017-10-24 20:00:08 +08:00
回复了 loser 创建的主题 阅读 求推荐给父母的科普书籍
中医是一个不可以证伪的东西,靠科普很难根除。
不建立科学思维,大概是很难理解这些的,与其期待改变,不如随他们去吧。
2017-10-23 21:47:55 +08:00
回复了 F2Sky 创建的主题 问与答 飞利浦的电动牙刷是不是没有原装的牙刷头了?
官方自营还不放心啥,和原装不一样就不一样呗,有些小改款也是很正常的。
2017-10-23 11:35:29 +08:00
回复了 dekira 创建的主题 C C++可以用变量定义数组了么
@nullcoder
不用太纠结字面的说法。
变长数组通常用来指代的是能直接用变量来定义数组的这种特性。
malloc 或者 new 出来的一个空间也可以当成数组用,这样也确实实现了变量来定义数组这种事实。
一定要纠结的话,可以理解为变长数组是用变量定义数组长度的一个子集。
2017-10-23 11:20:30 +08:00
回复了 dekira 创建的主题 C C++可以用变量定义数组了么
对 C 来说,C99 允许定义变长数组,然而有些编译器一直不肯支持(没错,说的就是你 MSVC )。
对 CPP 来说,变长数组这个特性标准上就没有支持,而且更 cpp 的做法是使用 vector 这样的 STL 容器。
2017-10-21 18:15:14 +08:00
回复了 longislet 创建的主题 Windows 两年前的 win10 要更新吗?
这种大版本升级最好直接重装,直接升容易有问题。
2017-10-20 17:19:51 +08:00
回复了 ballshapesdsd 创建的主题 问与答 c++内存泄露在程序退出之后还存在吗?
会的,这就是操作系统干的活
都是内核崩溃,不知道那个地址上有什么东西或者是哪个驱动导致的。
一般来说,我会首先排除安装在这个机器上的各种带驱动的软件,比如各种安全产品,防火墙(系统自带的除外)用 Autoruns 之类的检查一下看看有哪些驱动。

虽然我认为概率比较小,不过也可以尝试排除一下硬件问题,跑个内存测试也没坏处。
2017-10-10 20:08:00 +08:00
回复了 justou 创建的主题 C C++如何获取本地编码的名称
Windows 下面默认的 locale 就算 C,而不是系统的代码页
你可以用
std::locale::global(std::locale("chs"));
来设置 locale。
如果你想知道 Windows 系统的代码页设定,那么需要调用 API。
比如:GetACP,GetCPInfoEx
给你个例子
#include <windows.h>
void cout_loc()
{
CPINFOEX cpinfo = { 0 };
GetCPInfoEx(CP_ACP, 0, &cpinfo);
std::cout << cpinfo.CodePageName << std::endl;
}
2017-10-09 22:48:18 +08:00
回复了 blankme 创建的主题 问与答 世特力 Century 发货空包裹,好气啊
Orico 一生黑
2017-10-09 22:47:09 +08:00
回复了 vbcode2776478814 创建的主题 分享发现 现在有哪些可以做 T+0 的炒股方法呀?
人总会先把失败归结为别人的问题,这是一种常见的心理误区。
T+1 赚不到钱,T+0 也不会有什么区别。
如果一定想多掌握 T+0 这么一门亏钱的技能,你可以选择期货,港股,美股,总有一个赌场能满足你的要求。
2017-10-08 20:53:30 +08:00
回复了 F2Sky 创建的主题 Android NFC 卡模拟使用效果
估计只能模拟卡片 ID,也就是只对认卡片 ID 的设备有效,然而但凡对卡片安全有一点点要求的地方都不会只认 ID。
所以实际上应该是没什么用。
2017-10-08 16:31:06 +08:00
回复了 JiPhone 创建的主题 程序员 硬盘磁头坏了怎么修?
把数据恢复的人把数据导出来给你,然后换个新硬盘吧。
1 ... 33  34  35  36  37  38  39  40  41  42 ... 72  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1534 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 16:56 · PVG 00:56 · LAX 08:56 · JFK 11:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.