V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  luassuns  ›  全部回复第 1 页 / 共 6 页
回复总数  117
1  2  3  4  5  6  
233 天前
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
```cpp

struct Command
{
std::string msg;
std::string description;
bool require;
std::function<void(std::any)> command;
void exec(std::any v)
{
if (command)
command(v);
}
};

class Args
{
public:
Args *add_opt(Command *command)
{
commandMap[command->msg] = command;
return this;
}

void parse(int argc, char *argv[])
{
// do parse....
std::map<std::string, std::any> valueMap;
for (auto &[key, value] : commandMap) {
if(valueMap.find(key) != valueMap.end()) {
value->exec(valueMap[key]);
} else {
if(value->require) {
// require but not found
}
}
}
}
std::map<std::string, Command *> commandMap;
};

Args *args = new Args();

args->add_opt(
new Command{"-p", "port", true, [](std::any v) { std::cout << std::any_cast<int>(v); }})
->add_opt(new Command())
->add_opt(new Command())
->add_opt(new Command())
->add_opt(new Command());
```
233 天前
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@FH0 你想要这样只要在 add_option 返回 return this 不就好了
搞过一次 Jetson TX2 Qt5 的: [交叉编译 Qt5 armv8(aarch64) with WebEngine - NVIDIA JETSON TX2]( https://zekexiao.com/cross-build-qt5-aarch64-with-webengine)
349 天前
回复了 chenjia404 创建的主题 奇思妙想 让自己的博客永存的思路
@tracker647 应该先 `m_is_async = false;` 再 fclose ,而且应该在置 false 后 join thread 等待线程结束,要不可能会 fputs 到 close 的 handle 里。
2022-09-05 10:15:41 +08:00
回复了 sadfQED2 创建的主题 Windows win11 蛋疼的 bug
@cweijan Windows 既然提供了移动这几个目录的功能,为什么不能用
2022-06-29 11:38:06 +08:00
回复了 ligiggy 创建的主题 C++ C++动态内存管理问题求解
每组数据就很大了,用之前用 vector.reserve 扩展一下避免分配
2022-05-27 10:43:45 +08:00
回复了 microxiaoxiao 创建的主题 程序员 talk is cheap,来观摩一下简单代码
suse gcc 12.1/clang14 没有这个问题
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3195 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 10:55 · PVG 18:55 · LAX 03:55 · JFK 06:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.