- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在代码中发现了这样的事情:
void foo(IList<int>^ const & list ) { ... }
^ const&
意思?我查看了 C++/CLI 规范,但没有发现关于持续跟踪引用的评论,也没有发现
^&
组合。
最佳答案
这段代码可能是由一个 C++ 程序员编写的,他使用通用的 C++ 惯用语来编写 C++/CLI。这是非常错误的,只有当句柄存储在堆栈中时,才能传递对跟踪句柄的引用。如果传递的 List<> 引用存储在堆上对象的字段中,则它无法工作,垃圾收集器可以移动它并使指针无效。编译器将捕获它并生成错误。 ^ 已经是一个引用,不需要额外的引用。
如果没有引用,const 关键字也不再有意义。不是它以前做过,CLR 不能强制执行它。并不是说这在这里很重要,无法从任何其他 .NET 语言调用此代码。它们不会生成指向跟踪句柄的指针。
只需修复它,保留这样的坏代码没什么意义:
void foo(IList<int>^ list ) { ... }
using namespace System;
using namespace System::Collections::Generic;
ref class Test {
public:
IList<int>^ lst;
void foo(IList<int> const &list) {}
void wontcompile() {
foo(lst); // C3699
IList<int>^ okay;
foo(okay);
}
};
关于c++-cli - C++/CLI, "constant"对跟踪句柄的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803597/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!