小编use*_*643的帖子

将自定义传输插入gRPC

假设我们为gRPC开发了一个定制的低级传输。我们如何将其“插入” gRPC c ++ API,以便可以将其用于Channel?

c++ grpc

3
推荐指数
1
解决办法
1600
查看次数

阿卡州有状态的演员

假设我要与Akka创建聊天系统。

在系统中,我可能会有一个UserActor来管理特定用户的所有消息。

如果现在将其部署在Akka群集中,如何确保actorOf能够(远程)引用特定用户的正确UserActor?因此在不同的节点上不存在重复项...

akka akka-cluster

2
推荐指数
1
解决办法
68
查看次数

将受约束框的大小调整为其 maxHeight 或相应的大小。最小高度

我有一个最小高度为 50 和最大高度为 400 的 ConstrainedBox。CB 包含一个将自身着色为黄色的容器。

请注意,这里的 CB 用作抽象。基本上,该 CB 可能是具有最小/最大约束的任何类型的小部件。

现在我有两种情况:

  • 我想让 CB 尽可能大(取 maxHeight)。

  • 我想让 CB 尽可能小(取 minHeight)。

我试过

Widget build(BuildContext _) => Scaffold(
      backgroundColor: Colors.transparent,
      body: SizedBox.expand(
          child: ConstrainedBox(
              constraints: BoxConstraints(minHeight: 50, maxHeight: 400),
              child: Container(color: Colors.yellow))));
Run Code Online (Sandbox Code Playgroud)

它显示了一个全屏黄色框,但我想要 400 像素!

  Widget build(BuildContext _) => Scaffold(
      backgroundColor: Colors.transparent,
      body: SizedBox.shrink(
          child: ConstrainedBox(
              constraints: BoxConstraints(minHeight: 50, maxHeight: 400),
              child: Container(color: Colors.yellow))));
Run Code Online (Sandbox Code Playgroud)

这导致一个空的脚手架,但我想要 50 像素!

编辑:我解决了这个问题,请看我自己的答案。

flutter flutter-layout

2
推荐指数
1
解决办法
1805
查看次数

如果 `std::Optional` 存在,则有条件地编译函数

我有一个混合的 C++14/C++17 代码库,并且我isEmpty只想在手头有一个函数时启用该函数std::optional。所以,我尝试了 SFINAE:

template <typename T, typename int_<decltype(std::nullopt)>::type = 0>
inline bool isEmpty(const std::optional<T>& v) {
  return !v;
}
Run Code Online (Sandbox Code Playgroud)

然而,这是行不通的。

isEmpty如果std::optional存在的话如何进行条件编译?

c++ c++14 c++17

2
推荐指数
1
解决办法
338
查看次数

如何在Rust中定义关联的const或类型别名?

基本上,我只想要"快捷方式":

impl Foo {
    const c : i32 = 42;
    type V = i32;
    fn bar() -> V { c }
}
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨:

error: associated constants are experimental (see issue #29646)
Run Code Online (Sandbox Code Playgroud)

rust

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

通过 void 向下转型/向上转型*

我有一个涉及虚拟函数、多重继承但不涉及虚拟继承的类层次结构。整个层次结构根植于一个基类B。一个类最多出现在层次结构中。

现在,我正在使用一个图书馆,我只能在那里传递和接收 void*(基本上是一些“句柄”)。

在什么情况下在我的层次结构实例和 void*?

我应该B*在过去之前总是向上看吗void*吗,反之亦然?

(D*) (B*) (void*) (B*) d等于difd是 的实例D*D的子类B

c++ casting

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

Yarn 2 中的工作区全局 bin 脚本

我有一个包含两个工作区的yarn 2工作区项目:

|-foo
\-bar
Run Code Online (Sandbox Code Playgroud)

现在,在 root 中package.json,我引入了常见的开发依赖项:

"devDependencies": {
    "@rollup/plugin-commonjs": "^14.0.0",
    "@rollup/plugin-node-resolve": "^8.4.0",
    "@rollup/plugin-replace": "^2.3.3",
    "@rollup/plugin-typescript": "^5.0.2",
    "@types/jest": "^26.0.13",
    "nollup": "^0.13.10",
    "rimraf": "^3.0.2",
    "rollup": "^2.23.1",
    "ts-jest": "^26.3.0",
    "tslib": "^2.0.1",
    "typescript": "^4.0.2"
  }
Run Code Online (Sandbox Code Playgroud)

我现在如何轻松(无需太多样板)从 foo 和 bar 的 package.json 中的脚本引用汇总等?

示例:foo/package.json

"build": "rollup ...",
Run Code Online (Sandbox Code Playgroud)

写“../node_modules/.bin/rollup”很糟糕。

请注意,我不想在全球范围内安装汇总等。

yarnpkg yarn-workspaces yarnpkg-v2

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

删除非类型化的shared_ptr

我正在致力于将 C++ 库包装到 C 桥中。

\n\n

所有对象,我\xe2\x80\x99d 喜欢在堆上使用shared_ptrs 进行维护,例如:

\n\n
void* makeFoo() {\n  return new shared_ptr<void>(shared_ptr::make_shared<Foo>());\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以使用这样的通用销毁吗:

\n\n
void destroy(void* p) {\n  delete static_cast<shared_ptr<void>*> p;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者有更干净的方法吗?

\n

c++ libstdc++ c++11

-1
推荐指数
1
解决办法
189
查看次数