type-safety相关内容

如何创建类型安全枚举?

为了实现C中枚举的类型安全性是有问题的,因为它们本质上只是整数。枚举常数实际上是按照标准定义为 int 的类型。 要实现一些类型安全我用这样的指针来做点: typedef枚举 { BLUE, RED } color_t; void color_assign(color_t * var,color_t val) { * var = val; } ..
发布时间:2017-08-23 21:02:44 其他开发

是否可以设计一个类型安全的链接列表来阻止getNext()在尾部节点?

我想知道是否可以设计一个类型安全的单链表结构,这样就不可能从尾部节点请求下一个节点。 同时,客户端需要能够通过列表通过遍历(递归或以其他方式)node.getChild()但是在编译时(至少用人工写的显式类型检查)才能防止它们超过尾部。 我想知道: 这种类型的问题? 有面向对象或其他方法有助于避免显式的运行时类型检查? 实现语言并不重要,但这里是我正在考虑的Java示例。 ..
发布时间:2017-04-03 14:50:01 其他开发

我如何在Java中设计一个类型安全的堆栈来防止从空列表中弹出?

这是这两个问题的分支: 1 , 2 。 我想在Java中实现类型安全的数据结构,以防止无意义的操作。例如,如果编译器知道我有一个空堆栈的实例,它不应该允许我在空堆栈上调用pop。 举个例子,我将在Java中实现这样一个(通用的)堆栈? 解决方案 请参见下面的Java实现基于.net代码从 stakx的问题。 如果客户端尝试弹出太远,编译器将发出未定义的方法错误。例如,发出 ..
发布时间:2017-04-03 14:30:48 Java开发

如何使数据绑定类型安全并支持重构

当我希望将控件绑定到对象的属性时,我必须以属性的形式提供字符串的名称。这不是很好,因为: 如果属性被删除或 重命名,我没有得到一个编译器 警告。 如果使用重构工具重命名财产 ,则 可能会更新 。 如果财产 的类型错误,我直到 运行时才会收到错误,例如将一个整数绑定到 a日期选择器。 有没有一个设计模式,使用数据绑定? (这是WinForm,Asp.net和WP ..
发布时间:2017-03-23 20:12:46 C#/.NET

Java中嵌套集合/结构的类型安全展平

我想在Java中平铺任何深度嵌套的集合/结构某种类型T的元素,最好使用 只有实时视图而不是复制的集合; 不仅处理集合,而且还包括迭代器,任意维数T的数组,Iterable和所有这些结构任意混合和嵌套; 静态类型安全。 这? Guava 似乎只处理一个嵌套级别,即 Collection> --flatten - > T> 。 lambdaj ..
发布时间:2016-12-15 19:20:38 Java开发

Go:按名称查找函数

package main func test(){ print(“In Test”) } func main(){ a:=“test”$ b $您可能会收到一封电子邮件,您可能会收到一封电子邮件给您,您可能会收到一封电子邮件,更好的答案,如果你说你想要实现的,因为反射通常不是最好的方式。但如果函数是类型上的方法(反映将有所帮助/ net / rpc /“> net / rpc ..
发布时间:2016-11-13 21:34:48 其他开发

如果我施放一个函数指针,改变参数的数量会发生什么

我刚刚开始将我的头围绕在C中的函数指针。为了理解函数指针的转换是如何工作的,我写了以下程序。它基本上创建一个函数指针指向一个函数,它接受一个参数,将它转换为具有三个参数的函数指针,并调用该函数,提供三个参数。我很好奇会发生什么: #include int square(int val){ return val * val; } void printi ..
发布时间:2016-11-13 20:43:34 其他开发

在某些Java泛型类型转换中类型安全警告的含义是什么?

? 实际上检查已擦除类型List 当我试图将一个对象转换为类型的通用信息时,如下面的代码: Object object = getMyList(); List list =(List)object; 解决方案 此警告存在,因为Java实际上并不存储类型运行时在使用泛型的对象中的信息。因此,如果 object 实际上是 Lis ..
发布时间:2016-11-13 20:35:39 Java开发

我可以让三元运算符像bool一样对待我的类吗?

我最近做了一个巨大的重构,我改变了很多我的代码返回布尔值,而不是一个明确的返回代码。为了帮助这种重构,我决定尽可能地依靠编译器,让它告诉我我的代码需要改变的地方。我这样做是通过引入以下类(查看这里的低层如何工作) : /// /// Typesafe布尔类别 /// class TypesafeBool { private: bool m_bValue; struct ..
发布时间:2016-10-30 00:44:05 C/C++开发

什么是C ++中的可变函数的一个好的类型安全的替代?

与此问题联合使用。我有麻烦提出一个良好的类型安全的解决方案,以下看似基本的问题。我有一个类music_playlist,它有一个应该播放的歌曲的列表。看起来很简单的权利,只是做一个std ::列表中的所有歌曲,并使其可供用户。然而,出于必要性,音频解码和音频渲染发生在单独的线程上。所以列表需要互斥保护。通常情况下,互斥体被其他程序员使用我的库忘记了。这显然导致了“奇怪”的问题。 所以一开始我 ..
发布时间:2016-10-27 01:28:40 C/C++开发

是static_cast滥用吗?

我对 static_cast 有不同的感觉,因为它是最安全的C ++强制转换,但同时允许安全和不安全的转换,因此您必须知道上下文来说,如果它实际上是安全的或可能导致UB(例如,当转换到子类)。 那么为什么没有一个更安全的显式转换?这里是一个例子,它可能是有用的。在COM中,他们必须返回接口指针 void ** ppv ,因此“必须”显式处理 * ppv =(IInterface *) ..
发布时间:2016-10-23 22:06:23 C/C++开发

类型安全typedef在C ++

我想在我的C ++程序中使用类似typedef来提高类型安全性。 例如,假设我有两个函数 void function1(unsigned idOfType1); void function2(unsigned idOfType2); 那么我可以错误地将idOfType2传递给function1,反之亦然。我想编译器给我一个错误在这种情况下。我知道我可以包装这些u ..
发布时间:2016-10-19 20:00:16 C/C++开发

新关键字“auto”;什么时候应该用它来声明一个变量类型?

可能重复: b $ b 我们(作为一个社群)有足够的经验来确定汽车何时和/或是否被滥用? 我是什么真正寻找 何时使用自动 避免 在80%的情况下可以快速遵循的简单的经验法则。 作为上下文,这个问题是由我的回应引发的这里 解决方案 我认为当类型在在您的项目中工作(或将工作)的程序员,则可以使用 auto ,例如以下代码: // good:auto这 ..
发布时间:2016-10-13 10:53:01 C/C++开发

模板typedefs - 你的工作是什么?

C ++ 0x有模板别名(有时称为模板typedef)。请参见此处。 C ++的当前规格没有。 你喜欢做什么工作?容器对象或宏? 你觉得它值得吗? 解决方案 工作?容器对象或宏? 规范化的方式是使用元功能,例如: template struct my_string_map { typedef std :: map ..
发布时间:2016-10-11 22:28:59 C/C++开发

是否有这种模式的名字吗? (C#编译时类型安全与" PARAMS"不同类型的参数)

是否有这种模式的名称? 让我们假设你想创建一个采用可变数量的参数的方法,每个都必须是一个组固定的类型(以任意顺序或组合),以及一些这些类型的,你无法控制的。一种常见的方法就是让你的方法带Object类型的参数,并在运行时验证类型: 无效的MyMethod(PARAMS [对象]参数) { 的foreach(在args对象ARG) { 如果(arg是SOMETYPE) DoSome ..
发布时间:2016-09-23 21:40:13 C#/.NET