为啥“hello”>"world"呢

来源:9-15 泛型编程之泛型函数2

wxz123

2020-08-01

“hello”为啥比“world”大呢,h的ascii值不是比w的ascii值小吗

写回答

1回答

quickzhao

2020-08-01

你的问题很奇怪,你凭什么证明"hello"比"world"大;我觉得你对问题的理解本身就有问题。

0
2
quickzhao
统一回复下,这里字符串的max方法,可能会导致误解,因为这里是模板方式的实现。直接使用"hello"和"world"比较事实上比较的是两个地址。如果你希望按照字典序比较字符串的大小,有两种做法:1是将hello和world用string定义,这样由于string重载了>,会按字典序使用max方法时返回字段序的大值world;2是像课程中的,定义一个偏特化的char*形式的比大小方式,template<> char* max(char* a, char* b) { return (strcmp(a, b) > 0 ? (a) : (b)); } 使用strcmp比较,也可以得到字典序的结果。
2024-03-18
共2条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程