gpt4 book ai didi

c++ - std::map 在炼金术中损坏了吗?

转载 作者:太空狗 更新时间:2023-10-29 21:29:56 25 4
gpt4 key购买 nike

以下代码测试以 std::string 作为键的 std::map 的使用:

#include <stdio.h>
#include <map>
#include <string>
using namespace std;

typedef map<string, int> test_map_t;

int main(int argc, char **argv) {
test_map_t test_map;

test_map["test1"]= 1;
test_map["test2"]= 2;
test_map["test3"]= 3;

string tmp= "test1";
printf("%s : %d \n", tmp.c_str(), test_map[tmp]);

return 0;
}

当用普通的 gcc 编译时,这个测试将按预期打印出“test1 : 1”。但是,当使用炼金术编译时,它将打印“test1 : 3”(!)。这里出了点问题。

是否有任何解决方法,或者我只是卡住了?

最佳答案

类字符串在炼金术中被破坏。运算符拷贝 (=) 中存在错误。 map 与其他类一起工作正常

关于c++ - std::map 在炼金术中损坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3756250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com