标签: map

c ++ maps值被破坏了

我创建了一个多图ErrorMap并插入这样的值

map<char*,char*> ErrorMap;
ErrorMap.insert(map<char*, char*>::value_type(*l_itrList, ErrorMsg1));
Run Code Online (Sandbox Code Playgroud)

在此之后,我正在阅读这张地图三次以处理一些请求.在删除我打印地图之前,我得到的前两个对值已损坏,其余值正常.

我在这里得到核心转储.

我可以获取这些值在阅读时如何影响的详细信息.任何解决方案,以便我可以保存我的地图,直到我明确删除它.

我的日志

mapItrMov4.first(€J +)mapItrMov4.second(无效的服务请求)

mapItrMov4.first(hK +)mapItrMov4.second(无效的服务请求)

mapItrMov4.first(first)mapItrMov4.second(InvalidServiceRequest)

....

之后很好

gdb回溯

(gdb)bt

来自/lib/tls/i686/libc.so.6的raise()中的0x001c2cae

来自/lib/tls/i686/libc.so.6的abort()中的0x001c42b0

来自/lib/tls/i686/libc.so.6的__libc_message()中的0x001f2469

来自/lib/tls/i686/libc.so.6的_int_free()中的0x001f7ef8

来自/lib/tls/i686/libc.so.6的free()中的0x001f824f

来自/usr/lib/libstdc++.so.6的operator delete()中的0x004dbfd1

运算符0x004dc01d从/usr/lib/libstdc++.so.6删除[]()

amsAccMgmtReqHandler :: opServicesReqHandler中的0x080ab607(此= 0x95b91dc,m_Response = 0x95ba588"68287

amsAccMgmtReqHandler :: handleRequest中的0x080b35c4(此= 0x95b91dc,a_cpRequestStr = 0x2187820"1 <MSISDN> 102000073589953099999000000000599999000"...,a_cpResponseStr = 0x95ba588"68287

amsWorker :: run中的0x081344d5(this = 0x95b91d0)

workerThread :: ThreadProc中的0x081cef83(p = 0x959f234)

来自/lib/tls/i686/libpthread.so.0的start_thread()中的0x003ca144

来自/lib/tls/i686/libc.so.6的clone()中的0x00258a7e

c++ linux map

0
推荐指数
1
解决办法
1037
查看次数

将ArrayList <Integer>存储为TreeMap Java中的键

我在一个TreeMap中存储了一个arrayList作为我的键,但是我得到了这个异常

java.lang.ClassCastException:java.util.ArrayList无法强制转换为java.lang.Comparable

我将数组的内容复制到ArrayList并尝试将该arrayList存储为Map My Code中的我的键:

TreeMap< ArrayList<Integer> , Integer > bandsMap = new TreeMap< ArrayList<Integer> , Integer >(); 
ArrayList< Integer > erfcn = new ArrayList< Integer >();

for (int index = 0; index < frequencies.length; index++)   
    erfcn.add(frequencies[index]);

    bandsMap.put( erfcn , band_number);

 for (Integer value : bandsMap.values()) {
    System.out.println("Value = " + value + "\n");
 }
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?谢谢

java arraylist map treemap

0
推荐指数
1
解决办法
2077
查看次数

地图功能haskell

编译时我收到此错误:

Ambigous occurence'map'
它可以引用blablabla中定义的Main.map

我在这里阅读了类似的帖子并尝试了这个:

import qualified Data.Map as Map

map                     :: (a->b) -> [a] -> [b]
map f  []               =  []
map f (x:xs)            =  f x : map f xs
Run Code Online (Sandbox Code Playgroud)

我仍然得到错误.我正在编制GHCI.

我怎么能避免这个?

haskell map

0
推荐指数
1
解决办法
144
查看次数

对Map中的值求和

如何将给定地图中的所有值加在一起?

private final Map<String, Double> deviceVoltageMap = new HashMap<String, Double>();

synchronized public double getVoltage(String device) {
    double totalVolts = 0.0;
    for (String key : deviceVoltageMap.keySet()) {
         //?
        }
    return totalVolts;
}
Run Code Online (Sandbox Code Playgroud)

java map

0
推荐指数
1
解决办法
1493
查看次数

Scala:IndexOutOfBoundsException在映射时发生

我在Windows下使用Scala 2.10.3和Java 1.7.0_45(64位)在我的代码中

List.range(0, 10) map {ListBuffer[Int]()}
Run Code Online (Sandbox Code Playgroud)

抛出java.lang.IndexOutOfBoundsException.但另一方面,

List.range(0, 10) map {i => ListBuffer[Int]()}
Run Code Online (Sandbox Code Playgroud)

效果很好.

所以我想知道为什么会这样?两个表达式之间有什么区别吗?

scala map

0
推荐指数
1
解决办法
557
查看次数

在类中使用Map vs Vector - 速度

嗨我有两个版本的类我写的,一个使用地图,一个使用两个向量:

    class NucleotideSequence{
private:
    std::string Name;
    std::vector<int> BasePos;
    std::vector<char> BaseChar;
public:
    NucleotideSequence(std::string name, std::vector<int> &bp, std::vector<char> &bases);
    std::string getName();
    char getBase(int pos); // get a base by it's position in the char array.
    char getAbBase(int abPos); // get a base by it's actual bp position.
};


class NucleotideSequence2{
private:
    std::string Name;
    std::map<int, char> Sequence;
public:
    NucleotideSequence2(std::string &name, std::map<int, char> &seq) throw(FormatError);
    std::string getName();
};
Run Code Online (Sandbox Code Playgroud)

然后我为它们定义了构造函数:

NucleotideSequence::NucleotideSequence(std::string name, std::vector<int> &bp, std::vector<char> &bases)
:Name(name), BasePos(bp), BaseChar(bases)
{
    for (std::vector<char>::iterator i = BaseChar.begin(); …
Run Code Online (Sandbox Code Playgroud)

c++ class vector map

0
推荐指数
1
解决办法
365
查看次数

如何映射一个Ruby哈希?

有没有更好的方法来映射Ruby哈希?我想遍历每对并收集值。也许使用水龙头?

hash = { a:1, b:2 }

output = hash.to_a.map do |one_pair|
  k = one_pair.first
  v = one_pair.last  
  "#{ k }=#{ v*2 }"
end

>> [
  [0] "a=2",
  [1] "b=4"
]
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash map collect

0
推荐指数
1
解决办法
576
查看次数

perl - map not working,"不能使用string ...作为HASH ref"

我有以下代码:

use strict;
use warnings;
use List::Util qw(max);
use DateTime;
use JSON;

use DBI;

...

my @names = @{ select_users_to_update('last_name') };

sub select_users_to_update {
    my ( $self, $column ) = @_;

    my $sql = qq{
        SELECT DISTINCT `$column`
        FROM `db_name`
        WHERE `first_name` IS NULL
    };
    my $rows = $self->{dbh}->selectall_arrayref( $sql, { Slice => {} } );
    my @fields = map { $_->{$column} } @$rows;

    return \@fields;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Can't use string ("last_name") as a HASH ref while "strict refs" in …
Run Code Online (Sandbox Code Playgroud)

perl hash map

0
推荐指数
1
解决办法
342
查看次数

如何使用Perl中的map函数获取哈希中的数组值

我有一个与#结合的元素数组,我希望将其放入哈希中,该数组的第一个元素作为键,并且在将数组元素拆分为#之后将其作为值,但它不会发生.

例如:

my @arr = qw(9093#AT#BP 8111#BR 7456#VD#AP 7786#WS#ER 9431#BP ) #thousand of data 
Run Code Online (Sandbox Code Playgroud)

我想要的是

$hash{9093} = [AT,AP];
$hash{8111} = [BR]; and so on
Run Code Online (Sandbox Code Playgroud)

我们如何使用map函数完成它.否则我需要使用for循环,但我希望使用map函数.

perl map

0
推荐指数
2
解决办法
427
查看次数

在C++ STL中使用Map获取编译错误?

在下面的程序中使用MAP会产生一些编译器错误.没有得到他们的意思.

   #include <iostream>
   #include <cstdio>
   #include <map>
   #include <cstring>
  using namespace std;

  char maze [61][61], q;
  int n , m , i , j , x , y;
  map < char , char > left ;
  map < char , char > right ;
  char orient ;

   int main(){

   left ['N'] = 'W' ;
   left ['E'] = 'S';
   left['S'] = 'E';
   left['W'] = 'N';

   right['N'] = 'E';
   right['E'] = 'S';
   right['S'] = 'W';
   right['W'] = 'N';

     scanf( "%d %d" , …
Run Code Online (Sandbox Code Playgroud)

c++ stl compiler-errors map

0
推荐指数
1
解决办法
697
查看次数

标签 统计

map ×10

c++ ×3

hash ×2

java ×2

perl ×2

arraylist ×1

arrays ×1

class ×1

collect ×1

compiler-errors ×1

haskell ×1

linux ×1

ruby ×1

scala ×1

stl ×1

treemap ×1

vector ×1