惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
C
Check Point Blog
宝玉的分享
宝玉的分享
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - Franky
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
罗磊的独立博客
S
SegmentFault 最新的问题
S
Secure Thoughts
T
Troy Hunt's Blog
J
Java Code Geeks
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
W
WeLiveSecurity
Help Net Security
Help Net Security
S
Security @ Cisco Blogs
T
Threatpost
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V2EX - 技术
V2EX - 技术
T
Tor Project blog
S
Security Affairs
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
腾讯CDC
博客园 - 司徒正美
The Last Watchdog
The Last Watchdog
N
News | PayPal Newsroom
博客园 - 聂微东
小众软件
小众软件
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
C
CERT Recently Published Vulnerability Notes
AI
AI
N
News and Events Feed by Topic
C
Cybersecurity and Infrastructure Security Agency CISA
O
OpenAI News
T
The Exploit Database - CXSecurity.com
L
LINUX DO - 最新话题
T
Threat Research - Cisco Blogs
雷峰网
雷峰网
NISL@THU
NISL@THU
V
Visual Studio Blog

博客园 - 凤凰_1

多边形近似:最小周长多边形算法MPP 多阈值otsu的opencv实现 在Opencv中自定义了一个相位函数,获取复数矩阵的相位 cvIsInf与cvIsNan函数 Mandelbrot set 以parallel_for_实现 opencv的并行操作parallel_for_的问题 CV_WRAP和CV_EXPORTS_W opencv超级像素示例 opencv中自定义的双线性二次插值的图像旋转及缩放 在Qt中,如何在sheets末端添加新的sheet opencv4.x 中的plot函数绘制二维Mat C++版DNN最简主体框架 C++版全连接神经网络 C++版加载MNIST图像集合 C++版的神经网络训练用的图像集合加载 自定义c++二维动态数组 用Cmake 编译OpenCV常见的错误 Opencv中的dft()和idft()示例 C++仿Matlab的bsxfun函数
c\c++宏定义,四个参数求最大值 - 凤凰_1 - 博客园
凤凰_1 · 2022-07-12 · via 博客园 - 凤凰_1
#include <iostream>
#define GetMax(a,b,c,d) a>b?(a>c?(a>d?a:d):(c>d?c:d)):\
                                                       \
                            (b>c?(b>d?b:d):(c>d?c:d))
using namespace std;

int main()
{
    float x=GetMax(3,2,1,5) ;
    cout <<x << endl;
    return 0;
}

为了方便参数运算,每个参数添加括号:

#include <iostream>
#define GetMax(a,b,c,d) (a)>(b)?((a)>(c)?((a)>(d)?(a):(d)):((c)>(d)?(c):(d))):\
                            ((b)>(c)?((b)>(d)?(b):(d)):((c)>(d)?(c):(d)))
using namespace std;

int main()
{
    float x=GetMax(8,2,1,5) ;
    cout <<x << endl;
    return 0;
}