所有问题

0 投票
2 回答
735 浏览

c++ - 如何将抽象基类 unique_ptrs 添加到地图中?

我目前正在用 C++ 编写游戏。这个游戏有一个 GameManager 类。GameManager 类包含一个包含指向游戏对象的指针的映射。我已经定义了一个 GameObject 类,它是一个简单地充当接口的抽象类。

我定义了两个派生自 GameObject 类的类:Enemy 和 Loot。

我希望我的 GameManager 类包含游戏对象的映射,或者更确切地说,包含指向游戏对象的指针。因为我的 GameManager 拥有这些对象,所以我希望地图包含 std::unique_ptr's。

但是,我很难将派生对象(例如敌人和战利品)实际添加到此地图中。

我希望我的 GameManager 遍历游戏对象并调用抽象方法。本质上,我的 GameManager 并不关心某物是否是敌人、战利品或其他任何东西,它只希望能够调用基类中声明的“draw”方法。

我将如何将指向派生类的 unique_ptr 添加到包含基类的 unique_ptr 的映射?到目前为止,我的尝试导致我无法编译的代码。我不断收到一个错误,指出我不允许将派生类指针动态转换为基类指针。

如果我使用原始指针,我觉得这项工作很好,但我打算使用智能指针。

代码:

0 投票
1 回答
830 浏览

c++ - 在已经使用 tensorflow 作为第三方的 c++ 库中使用新的 tensorflow op

这是我第一次在 stackoverflow 中提问。我会尽力正确地提出我的问题。

我想在 c++ 库中使用自定义 tensorflow 操作,该库已经使用 tensorflow 作为第三方。但我根本不知道如何在 C++ 代码中使用我的自定义操作。我正在尝试通过 Tensroflow c++ 教程中的简单 ZeroOut 示例来学习这一点。我在https://github.com/MatteoRagni/tf.ZeroOut.gpu中为 cpu 注册了 ZeroOut 操作:用make编译,我在usr-ops文件夹中有一个.so文件,cc文件也在那里。然后我尝试将 ZeroOut.so 文件作为共享库添加到我的库中,但它没有编译。但是,在我添加我的自定义操作之前,按照 tensorflow 新操作教程中的描述向 bazel 注册,以同样的方式和我的库编译。可能是因为 .so 文件是在 ../bazel-bin/tensorflow/core/user_ops/ 中创建的。但在这种情况下,我无法按我应该的方式使用该操作。直到现在,在我的 c++ 文件中包含 ZeroOut.cpp 或我的 op 的 .cpp 文件并没有任何区别。

这是我的 CMakeList.txt,它还创建了我正在使用的整个库:

有一个相关的问题,但没有明确的答案。 如何从 C++ 代码运行自定义 GPU tensorflow::op?

我究竟做错了什么?我在共享库方面没有经验,但也许还有其他更好的方法来做我想做的事情......?有人可以帮助我,也许举一个所需的 CMakeList.txt 的例子?

关于我在运行时遇到的错误:这是一个非常微不足道的错误,如果使用正确数量的参数调用,则无法找到我的 .so 文件中的函数,如果使用错误的参数调用它只是没有运行。与此同时,我找到了更好的解决方法。由于我可以在 python 中使用我的自定义操作,我将在我的 c++ 库中嵌入 python,调用一个 python 函数来制作图形,这将调用我的自定义操作来构建图形。但我还没说完。

0 投票
4 回答
4814 浏览

bash - 在 Google Colab 中获取 jupyter 输出

我们需要查看由 google colab 中的 jupyter notebook 生成的输出(stdout)。进行一些调查,似乎输出一直通过管道传输到主进程:

根 1 0 0 Jun27 ?00:00:00 /bin/bash -e /datalab/run.sh

输出运行的管道似乎如下:

  • /usr/bin/python2 /usr/local/bin/jupyter-notebook .....

  • /tools/node/bin/node /datalab/web/app.js

  • 节点 /tools/node/bin/forever ..... /datalab/web/app.js

  • /bin/bash -e /datalab/run.sh

关于如何访问它的任何想法?


我刚刚发现它forever不会转发来自app.js. forever list表明输出将/content/.forever/BQBW.log不存在。我仍然不明白为什么也不明白这是否真的是标准输出的最终结果。

0 投票
0 回答
837 浏览

java - 依赖注入在游戏框架中不起作用

模块类

玩吗啡

在 Myapplication.conf中,我提到了类的正确包/路径名,Module

我遵循了关于 Eager Binding的Play 框架官方文档: https ://www.playframework.com/documentation/2.6.x/JavaDependencyInjection#Eager-bindings

在编译时,我得到这个:

CreationException: Unable to create injector,看到如下错误:

1) 没有绑定 play.inject.ApplicationLifecycle 的实现。同时为 configuration.PlayMorphia 的第一个参数定位 play.inject.ApplicationLifecycle。. (PlayMorphia.java:28) 在 configuration.MorphiaModule.configure(MorphiaModule.java:24) (通过模块:com.google.inject.util.Modules$OverrideModule ->
configuration.MorphiaModule)

我在这里做错了什么?任何帮助都是不言而喻的。

0 投票
0 回答
323 浏览

python - pytorch LSTM 源代码的问题

我将双向 LSTM 与batch_first=True. 然而,它给我一个关于尺寸的错误。 **Error: Expected hidden[0] size (6, 5, 40), got (5, 6, 40)** 当我检查源代码时,由于以下功能而发生错误

默认情况下expected_hidden_size,先写入序列。我相信这是造成问题的原因。有人可以建议我是否正确并且问题需要解决吗?

0 投票
1 回答
95 浏览

c++ - c++ 字符串返回一个额外的字符

我已经测试了我的程序,并且在我的函数中返回的字符串等于“card001”之前可以肯定。但返回值等于“card0011”。我不知道这是怎么发生的。在我失去理智之前帮助我。;)

0 投票
1 回答
146 浏览

java - Java 并发得到不一致的结果。(带锁和 LongAdder)

我正在做这些练习:

  1. 编写一个遍历目录树并为每个文件生成一个线程的程序。在线程中,计算文件中的字数,并在不使用锁的情况下更新声明为 public static long count = 0 的共享计数器;多次运行该程序。发生什么了?为什么?

  2. 使用锁来修复前面练习的程序。

  3. 使用 LongAdder 修复前面练习的程序。

我编写了以下程序,其中

  1. CountWordThread回答练习 1,
  2. CountWordLockThread回答练习 2,并且
  3. CountWordLongAdderThread回答练习 3。

Java 代码如下:

几乎每次运行 2 或 3 时,我都会得到不一致的答案。我不知道为什么。

一个示例结果将是这样的:

对于练习 2,以及

对于练习 3。

你能帮我吗?

更新

在@chrylis 的帮助下,我使用以下代码更新了我的答案,该代码按预期运行:(上面的代码得到错误答案的原因正是@Ivan 所说的。

0 投票
0 回答
902 浏览

react-native - 打开我的一个项目时,Expo XDE 卡住了

在从事这个项目时,这已经发生在我身上两次了。我使用 expo XDE 打开项目,它只是挂在那里加载并且从未真正打开我的项目。第一次发生时,我刚刚创建了一个新项目并复制了我的代码。我不想继续这样做。我看过人们谈论wifi连接的帖子,而我的工作正常。

https://imgur.com/a/0CWDDOC

这第二次我尝试在我的项目目录中从 CLI 运行“exp start”,我收到此错误 https://imgur.com/kxxIELK

我可以通过命令行和 expo XDE 应用程序打开我的其他项目。

让我知道我是否可以提供任何其他信息!

版本:

世博会 XDE:2.24.4

npm ls react-native : react-native@0.55.4

npm ls expo : expo@28.0.0

npm -v:6.1.0

节点-v:v8.11.1

经验-V:55.0.4

守望者版本:4.9.0

0 投票
1 回答
229 浏览

php - Laravel Schema 设计多对多

你好,我正在尝试建立中学教育的学校管理系统,我有一个 ERM 设计我想问一下 laravel 是否处理这种类型的多对多关系?如果我做错了,请修改,因为我是初学者谢谢..

风险管理在此处输入图像描述

0 投票
1 回答
1074 浏览

webrtc - 当我调用 peerconnection->Close() 时,WebRtc Native-Crashed

如何关闭或破坏 PeerConnectionInterface 对象?当我试图这样做时它崩溃了。

我有一个像这样声明的对象: rtc::scoped_refptr<webrtc::PeerConnectionInterface> _peerConnection;

在我通过工厂创建 PeerConnectionInterface 后它工作正常。

但是,当会话结束时,我尝试调用 _peerConnection->Close(); 程序崩溃了。

而且我也尝试调用 _peerConnection.release()->Release(); 也崩溃了。

我在 WebRtc 的源代码的 PeerConnection.cc 中打印日志,发现它在这里崩溃了,在 Close() 函数和 ~PeerConnection() 函数中:

webrtc_session_desc_factory_.reset(); //PeerConnection.cc

声明是 std::unique_ptr<WebRtcSessionDescriptionFactory> webrtc_session_desc_factory_;

于是我继续登录WebRtcSessionDescriptionFactory.cc,~WebRtcSessionDescriptionFactory()函数。在这个函数中崩溃:FailPendingRequests()。

进入FailPendingRequests()函数:

我将非常感谢任何建议!

0 投票
1 回答
85 浏览

c++ - C ++中的两个复制构造函数调用有什么区别?

看下面的代码:

为什么Foo foo3 = foo1;不能编译,这两个复制构造函数调用有什么区别?
ps:我的编译工具是GCC4.8.2

0 投票
0 回答
26 浏览

php - 文件意外结束,在代码中找不到缺少的括号:(

我在此页面上收到“文件意外结束错误”。我知道这个错误通常是由某个地方的括号丢失引起的,但在尝试找出具体是什么导致问题之后,我终生无法做到。如果有人有时间看一看,看看他们是否能发现我看不到的东西,我将不胜感激。提前致谢 :)

0 投票
3 回答
1672 浏览

react-native-android - Detox + android 编译 DetoxTest.java 失败

我正在尝试运行

detox build -c android.emu.release

但是当它尝试编译DetoxTest.java时出现以下错误时失败

我尝试从包中导入 MainActivity,但找不到包。

RN 0.51.1 排毒:7.4.3

0 投票
2 回答
4124 浏览

json - 当键因记录而异时,使用 pandas 规范化嵌套 json

我有一个嵌套的 json 数据集,示例如下。属性因每口井而异。当键因情况而异时,如何将这些数据标准化为数据框?我希望没有键的行显示为空。

{WellID:3。属性:[名称:xxx,值,yyy .... ....]}

样本数据:

我尝试使用此语句:

但它导致以下不平坦:

请告知如何将其转换为以下格式:

井号 | 纬度 | 经度 | 状态 | .... ETC

我现在有一个数据集,该数据集在 Well ID 标签上有多个字段。有没有办法将所有这些字段都放入数据框中,而无需手动输入它们?

谢谢,

0 投票
2 回答
7087 浏览

sql-server - 索引一次性临时表

一位同事在使用 Microsoft SQL Server 的企业工作。他们的团队创建了每天执行的存储过程以创建数据提取。基础表很大(有些有数十亿行),因此大多数存储过程的设计是首先它们仅将这些巨大表的相关行提取到临时表中,然后将临时表相互连接并与其他较小的表以创建最终提取。与此类似的东西:

通常,临时表在创建后不会被修改(因此没有后续的 ALTER、UPDATE 或 INSERT 操作)。出于讨论的目的,我们假设临时表稍后只使用一次(因此只有一个 SELECT 查询会依赖它们)。

这里有一个问题:在这些临时表创建之后和在后续查询中使用它们之前索引这些临时表是否是一个好主意?

我的同事认为创建索引将使联接和排序操作更快。但是,我相信总时间会更长,因为创建索引需要时间。换句话说,我假设除了边缘情况(比如临时表本身非常大,或者最终的 SELECT 查询非常复杂),SQL Server 将使用它在临时表上的统计信息来优化最终查询,这样做会有效地索引临时表,因为它认为合适。

换句话说,我习惯于认为创建索引只有在您知道该表经常使用时才有用;存储过程完成后删除的一次性临时表不值得索引。

我们都对 SQL Server 优化器知之甚少,无法知道我们在哪些方面是对的或错的。您能否帮助我们更好地理解我们的哪些假设更接近真相?

0 投票
1 回答
76 浏览

node.js - 调试ruby子进程节点js

我正在使用以下代码将 Ruby 脚本作为节点 js 子进程运行

当脚本运行时,我无法确定如何启动 ruby​​ 调试器 - (理想情况下是一个 ide - 但 pry 会这样做)。

任何指针和/或示例代码将不胜感激

0 投票
1 回答
535 浏览

azure - 是否可以在 Timer Trigger Azure 函数中将双变量作为参数传递?

我正在制作一个计时器触发 Azure 函数。我在这里使用一个表示 TimeToCopy 的变量。该变量必须在函数的每次迭代后更新。

我有:

我想要:

0 投票
3 回答
521 浏览

html - 如何将颜色设置为 html 属性标题值

根据我的标题属性,我需要更改表格内单元格的颜色

每当我的标题值显示WHO - 我需要将我的颜色更改<p> element为 RED时,请考虑以下示例

0 投票
1 回答
454 浏览

aframe - AFRAME:组件动态添加完成时的事件

我的用例如下:

在一个循环中,正在创建实体并设置组件。这是通过传递给函数的 json 对象实现的。我的问题是如何最好地获得整个实体集及其组件正在初始化的事件。代码是这样的

在某些组件的加载完成之前记录循环完成。我想进行某种回电,以了解所有组件都已完成加载。

似乎有一个事件componentinitialized,但它只为 1 个组件发送返回。我真正的要求(没有反映在上面的代码中)是一个实体可以添加多个组件。

要使用上述内容,我可能必须为每个组件设置此事件并跟踪它是否已完成。只是想知道是否有更优雅的方式来做到这一点。谢谢

0 投票
2 回答
822 浏览

ios - 如何获得移动的 SKSpriteNode 的位置?

我有一个来回移动的 SKSpriteNode。我需要在它移动时获得它的位置(所以它一直在变化)并在它在屏幕上移动时获得不同的位置。

当我尝试接收该位置时,它是原始位置。

物体移动:

这就是我正在尝试做的事情,以便随时打印它的位置。

是否有可能在移动时获得更新?

0 投票
1 回答
386 浏览

java - forToWhile on Practice-It

我目前是 java 的初学者,在练习时我遇到了这个练习网站,我似乎不太了解 c 部分。我应该将给定的 for 循环代码转换为 while 循环代码,但我不确定为什么我的代码不能打印出与 for 循环完全相同的内容。任何帮助将不胜感激!

在此处输入图像描述

0 投票
2 回答
904 浏览

spring-boot - 如何从 Spring 应用程序日志中识别业务日志并在 Logger.info() 中对其进行标记?

我正在使用 Spring Boot 和 Logback 来记录我的日志。

要求是我想从 Spring 应用程序日志中识别业务日志并在 Logger.info() 中标记它们。

例如:

在我的 Foo.service 之一

我想将它与应用程序系统日志和中间件日志区分开来。但是,我想不出一种方法来判断日志是由我(业务逻辑程序员)还是应用系统日志编写的。

0 投票
1 回答
800 浏览

javascript - 从反应不工作的快速根路由器获取请求

我试图在生产模式下从 fetch api 调用 express 根路由器('/'),但它不起作用。

我正在使用公共服务器,因为我将反应视图用作静态文件并呈现如下:

另外,我已经尝试使用生产主机名作为 fetch 的路由,但这对我不起作用,因为我使用的是代理。

完整的故事是我试图从 openshift oauth-proxy 身份验证中获取一些令牌。有两个容器,一个用于代理,另一个用于我的 Web 应用程序。当用户通过身份验证时,代理会向“localhost:8080”(这是我的网络应用程序)发送一个令牌。

我是这样处理的

但是当我从 fetch api from react 调用上述路由器时,我没有得到响应。应用程序崩溃。

当我在开发环境中运行它时,我同时在不同的服务器上运行,当我完全编写它时,就像' fetch('http://localhost:3001')'一样,它就可以工作了。

我希望它也能在生产中工作。有什么帮助吗?

更多细节

总体流程是,我已经在 openshift 上部署了我的 react 应用程序。我正在使用 oauth-proxy 对用户进行身份验证,然后在代理向我发送反应应用程序中的身份验证令牌后登陆我的反应应用程序。

proxy-app pod 中有两个容器,proxy 和 web-app。当我转到 pod 的路由时,它会将我带到 keycloak 登录页面,我在其中输入我的凭据,一旦通过身份验证,代理将标头中的 auth-token 发送到它的 sidecar 容器,这是我的 web 应用程序(在 localhost 上运行:8080 在 pod 内。)代理将标头发送到localhost:8080/(webapp),它是 Web 应用程序的根目录。现在在这里,我必须从客户端向该路由发出获取请求并获取令牌(我无法这样做,因为它不能以这种方式工作,可能是因为我使用的代理运行在与我的网络不同的主机上应用程序)。但是当我在('/api/xyz')等其他路线上提出请求时,它就像魅力一样。根路由和代理存在某些问题,这会造成问题。

0 投票
1 回答
500 浏览

django - 如何使用 m2m 字段、字符串 + manytomanyfield 制作 form.cleaned_data[]?- Django

我将老师的 CharField 更改为 ManyToManyField,现在我的 UserMessage 和 EmailMessage 坏了,

型号如下:

test.teacher.username对于CharField,如何定义ManyToManyField?

UserMessage的部分views.py如下(不是完整代码),UserMessage的功能很好,但我想知道如何更改form.cleaned_data['teacher'].username为ManyToManyFiled?我的意思是它不是form.cleaned_data['teacher.set()']或其他任何东西,非常感谢您的任何建议。

0 投票
3 回答
1289 浏览

vue.js - 多维数组的嵌套 v-for 中的 v-model

嗨,我想创建一个包含所选月份日期的表格,您可以在其中添加员工并标记要分配给员工的膳食。

我快到了,我可以在表格中添加一行并按天标记餐点,但是当添加第二行时,标记相同的餐点,如果我连续标记餐点,则所有餐点都按天绑定行。

这是代码和jsfiddle

html

Vue

https://jsfiddle.net/patogalarzar/v8h0knt7/