小编use*_*721的帖子

访问文件中的单个字符效率低下?(C++)

在处理文本文件时,我总是认为它更高效,首先将内容(或部分内容)读入std :: string或char数组,因为 - 从我有限的理解 - 文件从内存中读取块大于单个字符的大小.但是,我听说现代操作系统通常不会直接从文件中读取,这使得我手动缓冲输入的好处不大.

假设我想确定文本文件中某个字符的编号.以下是否会效率低下?

while (fin.get(ch)) {
    if (ch == 'n')
        ++char_count;
}
Run Code Online (Sandbox Code Playgroud)

当然,我想这取决于文件大小,但是有没有人对什么是最好的方法有任何一般规则?

c++ file-io fstream

8
推荐指数
2
解决办法
1072
查看次数

是否可以使用非const键类型的unordered_map?

本质上,我想要一个容器,其中一个元素可以被许多键访问.这可以通过定义一些用作地图键类型的多键类来完成,但由于这样的解决方案不允许修改已经插入的元素的键,我无法为其创建新的别名现有条目.

我很欣赏,std::map为了订购,密钥需要保持不变,但为什么要存在这种限制std::unordered_map呢?

如果需要,我想我可以使用指针图,但是有更好,更优雅的解决方案吗?

编辑:谢谢你清除Andrei,Xeo.尼科尔,关于我应该使用什么容器的任何建议?

c++ stl unordered-map stdmap c++11

3
推荐指数
1
解决办法
2349
查看次数

标签 统计

c++ ×2

c++11 ×1

file-io ×1

fstream ×1

stdmap ×1

stl ×1

unordered-map ×1