1
3
我假设您使用字符串的字符值比较字符串。也就是说,一个字符就像一个数字,一个较长的字符串比较短的字符串大,等等。
不,因为:
即。
一串
S
总是大于任何其他字符串都不存在。一份
S
(copy==其他字符串)将等于
S
,和“相等”是指“不大于”。
在我看来,正确的解决方案应该是引入某种特殊的字符串对象来表示无限大的字符串,并为该对象和标准字符串编写一个比较运算符。此外,在这种情况下,您可能需要自定义字符串类。 可以使字符串始终小于或等于任何其他字符串。长度为零的字符串将完全相同-总是小于任何其他字符串,并且等于其他长度为零的字符串。 或者您可以编写一个反直觉的比较例程,其中较短的字符串大于较长的字符串,但在这种情况下,下一个代码维护人员会讨厌您,所以这不是一个好主意。 但不知道为什么你会需要这样的东西。 |
2
2
您可能需要一个定制的比较器,为此您定义了一个神奇的“无限字符串”值,并始终将该值视为大于任何其他值。 |
3
2
Unicode解决了很多问题,但不是那个问题。Unicode只是一个字符(1、2或4字节)的不同编码,它们仍然存储在一个普通数组中。当您找到具有无限内存的机器时,可以使用无限字符串。 |
5
1
你应该试着陈述你打算达到什么,你的要求是什么。特别是,是吗
有
成为一根绳子?有
任何
对域名的限制?它们需要与
可以使用非字符串类型:
如果你能用
如果您可以使用任何其他comparisson函数,并且您的域中有一些无效,那么您可以利用这些函数:
|
6
0
如果你需要在一个物体空间内进行人工绑定, 不是 有界的,标准的技巧是添加一个额外的元素并定义一个新的比较运算符来强制您的属性。 或者实现惰性字符串。 |
7
0
好吧,如果你要动态地构造一个长度与你要比较的字符串相同的字符串,并用可用的最高的ASCII码填充它(对于普通的ASCII码为7F,对于扩展码为FF),你就可以保证这个字符串与你要比较的字符串相等或更大。 |
8
0
你的比较器是什么? 基于这一点,你可以构建一个格子的“顶部”。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |