c++ min/max
在网上很难找到c++中max和min函数为什么用不了,下面是我在一个评论区看到的回答,尤为经典:
首先,max()在标准C++中的确是个函数而非宏.它在不同编译系统中的实际定义如下:
===========================================================
linux 下的 g++,头文件<algorithm>
template <class _Tp>
inline const _Tp& max(const _Tp& __a, const _Tp& __b) {
return __a < __b ? __b : __a;
}
===========================================================
windows 下的 VC6,头文件<algorithm> (最新的VS.net没试过,不敢妄言)
template<class _Ty> inline
const _Ty& _cpp_max(const _Ty& _X, const _Ty& _Y)
{return (_X < _Y ? _Y : _X); }
===========================================================
看到了吗? g++按照标准C++的规定把它定义为max();而VC6自作主张把它变成了_cpp_max().
事实上,我提问时所附的源代码是符合标准C++规则的,在g++下顺利编译,而由于VC6把max()变成_cpp_max(),导致无法编译.
要在VC6用max(),只能退而求其次使用_cpp_max().或_MAX().
因为在头文件algorithm包含的另一个头文件xutility里有一句 #define _MAX _cpp_max
另外有一个相关的宏__max, 是定义在stdlib.h中的:#define __max(a,b) (((a) > (b)) ? (a) : (b)),不过__max不是标准C++,是以前的C留下来的.
转自bearforcat先生。
但经本人实践,如果用codeblocks的话,max和min函数是可以直接使用的:
int a=max(2,3);
最后a=3.
c++ min/max相关推荐
- LINQ to SQL语句之 Count/Sum/Min/Max/Avg
Count/Sum/Min/Max/Avg操作符 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数. Count 说明:返回集合中的元素个数,返回INT类型:不延迟.生成SQ ...
- 10.matlab中sort , min/max以及ceil 函数
1.sort 排序 2.min/max 求最大最小值 3.ceil----向上取整(不进行四舍五入)
- P3175 [HAOI2015]按位或(Min - Max容斥,FMT,概率期望,全网最清晰的题解!)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P3175 Prob ...
- splunk的统计分析功能——特定字段的统计功能包括取值分布(+topK,min/max/平均值)...
特定字段的统计功能--取值分布,topK,min/max/平均值 例如: date_second 60 值, 100% 的事件 时段平均值 时段最大值 时段最小值 上限值 时段上限值 罕见值 具有此字 ...
- [云炬python学习笔记]Numpy中内置函数min(),max(),sum()与Python中内置函数min(),max(),sum()性能对比分析
众所周知,Python有许多内置函数(例如min(),max(),sum()),Numpy也有自己的内置函数(np.min(),np.max(),np.sum()).由于Numpy的函数是在编译码中执 ...
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg - YJingLee's Blog - 博客园(转)
Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...
- Hive分析窗口函数(一) SUM,AVG,MIN,MAX
Hive分析窗口函数(一) SUM,AVG,MIN,MAX Hive分析窗口函数(一) SUM,AVG,MIN,MAX Hive中提供了越来越多的分析函数,用于完成负责的统计分析.抽时间将所有的分析窗 ...
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
Oracle 分析函数--SUM,AVG,MIN,MAX,COUNT SUM 功能描述:该函数计算组中表达式的累积和. SAMPLE :下例计算同一经理下员工的薪水累积值 MIN 功能描述:在一个组中 ...
- Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg
上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to Data ...
- 2021.08.25学习内容torch.clamp(input, min, max, out=None) → Tensor,torch.mm(matrix multiply)
学习pytorch时,看到了mm和clamp,不甚理解,其他地方也看到过,所以具体了解一下 前向传递:计算预测yh = x.mm(w1)h_relu = h.clamp(min=0) 把 h 张量的最 ...
最新文章
- How Tomcat works — 四、tomcat启动(3)
- Unit Test测试框架中的测试的执行顺序
- IPv6 — IPv4v6 综合组网技术
- DevOps:软件架构师行动指南(文摘)
- (chap6 Http首部) 请求首部字段 AuthorizationExpectFromHostIf-Match
- k8s组件说明:主要组件统一说明
- 光纤收发器常见的一些问题和检测方法
- Ph.D Grind 阅读感想 By 张雄
- 一切都是骗局 Windows 8并不是很牛X
- java switch case怎么判断范围_java小白从入门到精通(基础二)
- 怎样成为优秀软件模型设计者
- Centos7 安装谷歌浏览器
- 电子商务网络购物平台实例运营分析+电子商务概述及阿里巴巴集团模式五大核心内容[连载之电子商务网络营销]...
- 模拟与仿真两个词的区别
- Java使用word模板生成多个word文件,并导出一个zip压缩包
- ppt技巧一四步法调整段落排版
- 电脑文档出现乱码怎么恢复?文档出现了乱码怎么恢复
- kityminder百度脑图转xmind
- Zynq术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧
- FLV格式文件如何转换成MP4格式 1