abc612008 最近的时间轴更新
abc612008

abc612008

V2EX 第 241732 号会员,加入于 2017-07-20 08:42:47 +08:00
今日活跃度排名 6028
abc612008 最近回复了
3 小时 28 分钟前
回复了 aqtata 创建的主题 C++ 这种情况如何消除几百个 if/else
@ysc3839 #62 已经有点复杂到一般人看不懂了... 其实取决于场景,甚至可以直接丢 dll/so 里然后运行时加载库直接找对应的符号(
9 小时 40 分钟前
回复了 aqtata 创建的主题 C++ 这种情况如何消除几百个 if/else
@bluearc #57 都用上 map 了那不如这样:

```
#include <iostream>
#include <functional>

constexpr int maxN = 100;

class Foo {
public:
static void invoke(int i) {
_mapping[i](i);
}

private:
static std::function<void(int)> _mapping[maxN];

template <int N>
struct FooHelper {
FooHelper() {
_mapping[N] = [](int n) {
std::cout << "Foo<" << N << "> (" << n << ")" << std::endl;
};
}
};
template <int N>
struct Initer : Initer<N-1> {
FooHelper<N> _foo;
};
static Initer<maxN> _initer;
};
template<>
struct Foo::Initer<0> {};
std::function<void(int)> Foo::_mapping[maxN];
Foo::Initer<maxN> Foo::_initer;

int main(){
int n;
std::cin>>n;
Foo::invoke(n);
}
```

虽然感觉也挺丑的
9 小时 53 分钟前
回复了 aqtata 创建的主题 C++ 这种情况如何消除几百个 if/else
@ysc3839 #56 你这个调用一次 func 的时间是 O(n)的吗..难道要从 0 开始试
```
❯ ./a.out 7
n = 7
test<2>(7)
test<3>(7)
test<5>(7)
test<7>(7)
func<7>()
```
1 天前
回复了 aqtata 创建的主题 C++ 这种情况如何消除几百个 if/else
@bluearc 这是 gpt 写的吗?模板参数丢个运行时变量进去怎么可能编译的过。
Backblaze $6/tb/mo 大概每 gb 每月 4 分钱?
pixel 哪来的双卡
@dhuzbb 同前 pixel 7 pro 用户,已换海外版一加 12 。感觉良好,特别是充电和电池吊打 pixel 。
209 天前
回复了 itakeman 创建的主题 Windows win 下使用 Linux 命令的方法有哪些?
为什么不想用 wsl
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2768 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 01:58 · PVG 09:58 · LAX 17:58 · JFK 20:58
Developed with CodeLauncher
♥ Do have faith in what you're doing.