stpeace的专栏

提升认知 顺势而为

map,hash_map和unordered_map效率比较

      转载地址:https://blog.csdn.net/whizchen/article/details/9286557         原理介绍 map介绍 map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该...

2018-08-03 21:53:15

阅读数:1415

评论数:0

用hash map和双向链表实现LruCache

       之前介绍过hash table, 也介绍过hash map,  当然, 双向链表也早就说过, 现在来看看如何用这些东西来实现一个LruCache,  直接上代码: #include <iostream> #include &am...

2018-08-02 22:58:28

阅读数:1421

评论数:0

用C++来简要实现基于hash table的map------hashmap/unordered_map

       map是一种映射, 在stl中, map是通过底层的红黑树来实现的, 查找复杂度是O(nlgn). 当然,也可以用哈希表来实现map, 也即本文要介绍的hashmap:        rb tree--->stl map               (查找复杂...

2018-08-01 23:38:27

阅读数:1457

评论数:0

多线程操作C++ STL vector出现概率coredump问题分析------切勿对STL 容器的线程安全性有不切实际的依赖!

       多线程操作全局变量,必须考虑同步问题,否则可能出现数据不一致, 甚至触发coredump.        前段时间, 遇到一个多线程操作了全局的vector的问题,  程序崩了。场景是这样的:某全局配置参数保存在一个vector中,需要定时更新(更新线程), 另外的工作线程去读取配...

2018-07-27 21:48:03

阅读数:1756

评论数:0

C++中map和vector作形参时如何给定默认参数?

      之前遇到过这种特殊场景, 我用static变量比较恶心地解决了问题, 其实, 有更优雅的方式:#include <iostream> #include <vector> using namespac...

2018-04-16 23:22:08

阅读数:2992

评论数:0

从basic_string::erase异常(abort,coredump)之坑说起------来看看size_t和unsigned int的区别

        最近碰到一个坑,来看看简化后的代码:#include <iostream> using namespace std; static string getCutRemark(const string &strRem...

2018-04-11 23:13:10

阅读数:2710

评论数:0

再来说说为什么stl sort会概率造成core dump

       stl sort的不当使用会概率造成core dump, 这个问题已经说过好几次, 如果不防范, 一旦遇到, 比较难查出原因。       来看看有问题的代码:#include <iostream> #include &lt...

2018-03-24 22:42:46

阅读数:2768

评论数:0

stringstream和char在一起时需要注意

最近碰到了一个stringstream和char联合使用的奇怪bug,  本文不具体说这个bug.        来看看程序: #include #include #include using namespace std; void test(const string &...

2017-10-14 14:04:29

阅读数:5336

评论数:1

删除C++ string中的所有空格------我爱用erase方法(有坑)

         最近要用到, 先来写个程序(注意, 后来网友帮我发现, 如下这个程序有问题):#include <iostream> #include <map> #include <s...

2017-06-19 23:38:02

阅读数:10022

评论数:3

扩展字段map真是个好东西

扩展字段map真是个好东西, 在定各种协议时很常用, 不多说,谁用谁知道! #include #include #include using namespace std; void fun(const map &m) { } int main() { return 0; }

2017-04-15 01:40:49

阅读数:5308

评论数:0

stringstream真的很好用, 但要注意坑(clear函数之坑, 之前说过)

       string可以拼接, 但遇到串和整数拼接, 就比较蛋疼, 还是stringstream好, 但stringstream有clear之后, 我们已经说过了, 所以要注意。        最近用stringstream, 真的是太爽了, 看看:   #include &...

2017-04-08 23:13:56

阅读数:5881

评论数:0

一个低概率core dump问题的解决------static搞起

最近, 某服务低概率core dump, 精定位, 发现core的地方是对象初始化的地方, 这就奇怪了。  而且, 在别的地方用得好好的, 唯独在这个服务中异常。为了便于叙述, 我把原问题简化为一个必现的问题: #include using namespace std; class A { p...

2017-04-08 23:01:44

阅读数:5733

评论数:0

A::fun();这样调用后, A类的构造函数和析构函数是否会被调用?------不会!

最近遇到一个问题, 于是产生了一些思考。 先看程序: #include using namespace std; class A { public: static int* fun(); A() { printf("constrct\n"); } ~A(...

2017-04-02 17:53:22

阅读数:5659

评论数:0

string的erase方法, 第一次见, 没什么好说的

#include #include using namespace std; int main() { string s = "abcdefg"; s.erase(2, 1); cout << s << endl; // "abcd...

2017-03-24 23:22:59

阅读数:5064

评论数:0

谨慎使用map的下表操作

我们都知道, 当map不存在某key时, 如果用下标操作, 便会产生新key。 因此, 要特别注意, 最近一个同事中招了, 如下: #include #include #include using namespace std; int main() { map m; m["k...

2017-03-23 22:41:30

阅读数:5113

评论数:0

C++ string的+=与append, 小程序欣赏

废话少说, 看程序: #include #include using namespace std; int main() { { char szTest[] = "\0abc"; string s; s += szTest; printf("s...

2017-02-19 23:06:03

阅读数:5943

评论数:0

string也可以用 <<和>>吗?

最近在项目工程中碰到一段代码, 颇为费解, string居然也可以用 >, 于是我单独写了个小程序测了一下: #include #include using namespace std; int main() { int a = 1; string s; s << ...

2017-02-08 22:23:42

阅读数:5110

评论数:2

提前预防了一个低概率core

网络包的业务组成是 head + boby,  从head从解析出整个len后, 对len进行了合理性判断, 提前预防了一个低概率core,  不然就会访问非法内存, 嘎嘎。

2017-01-22 23:23:51

阅读数:4895

评论数:0

stringstream用错导致的core dump------居然耗费半小时, 唉!

最近在某处加了点代码, 代码就core dump了, 必现。 本来, 通过查找代码修改记录, 然后review一下, 就可以发现大问题的。  但我偏偏就把版本变动区间弄错, 导致没有review出来。        好吧, 那就定位。 玩core, 我已经很熟悉了, 可是呢? 无论怎么调节, co...

2016-12-10 15:45:52

阅读数:5427

评论数:0

awk、sort等命令搞定几十行代码C++做的事------用好工具, 事半功倍

在后台开发中, 经常遇到服务波动的情况, 一般来说, 在监控系统中可以看到这种波动, 那是否与我们机器上的错误log对应起来了呢? 我们有必要对机器上的错误log进行统计! 规范log中一般会有时间, 假设时间格式为: xxx[2016-11-20 hh:mm:ss]yyy, 那...

2016-11-20 12:35:19

阅读数:5548

评论数:2

提示
确定要删除当前文章?
取消 删除