gpt4 book ai didi

C++ 静态数组

转载 作者:行者123 更新时间:2023-11-28 03:04:20 25 4
gpt4 key购买 nike

我想为 wstrings 创建一个自定义的小写/大写函数。

因此我使用的是整数映射。

目前我正在从这些映射中自动创建一个函数:

(...)
else if (iCharCode==65)
{
iRet=97;
}
else if (iCharCode==66)
{
iRet=98;
}
else if (iCharCode==67)
{
iRet=99;
}
else if (iCharCode==68)
{
iRet=100;
}
else if (iCharCode==69)
{
iRet=101;
}
else if (iCharCode==70)
{
iRet=102;
}
else if (iCharCode==42818)
{
iRet=42819;
}
(...)

但是,如果我将我的 map 变成这样的 if 语句,函数将变得非常大。

因此,我想改用真实 map ,但我不想在运行时加载它。我更喜欢静态 map ,但我不确定该怎么做。

有人可以分享他的想法吗?

最佳答案

也许下面的代码可以提供帮助:

#include<iostream>
#include<map>

std::map<int, int> code_map = {
{65, 97},
{66, 98},
{67, 99},
{68, 100},
{69, 101},
{70, 102},
};


int main() {
for(const auto & pair : code_map) {
std::cout<<pair.first<<" maps to "<<pair.second<<std::endl;
}
return 0;
}

使用 g++ example.cpp -std=c++11 -Wall -Wextra (OS X 10.7.4 GCC 4.8.1) 编译产生:

$ ./a.out 
65 maps to 97
66 maps to 98
67 maps to 99
68 maps to 100
69 maps to 101
70 maps to 102

关于C++ 静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078398/

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